@hasna/emails 0.1.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/dashboard/index.html +479 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +55403 -0
- package/dist/db/addresses.d.ts +10 -0
- package/dist/db/addresses.d.ts.map +1 -0
- package/dist/db/database.d.ts +8 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/domains.d.ts +10 -0
- package/dist/db/domains.d.ts.map +1 -0
- package/dist/db/emails.d.ts +8 -0
- package/dist/db/emails.d.ts.map +1 -0
- package/dist/db/events.d.ts +16 -0
- package/dist/db/events.d.ts.map +1 -0
- package/dist/db/providers.d.ts +11 -0
- package/dist/db/providers.d.ts.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54149 -0
- package/dist/lib/dns.d.ts +5 -0
- package/dist/lib/dns.d.ts.map +1 -0
- package/dist/lib/stats.d.ts +5 -0
- package/dist/lib/stats.d.ts.map +1 -0
- package/dist/lib/sync.d.ts +4 -0
- package/dist/lib/sync.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +58282 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/interface.d.ts +37 -0
- package/dist/providers/interface.d.ts.map +1 -0
- package/dist/providers/resend.d.ts +24 -0
- package/dist/providers/resend.d.ts.map +1 -0
- package/dist/providers/ses.d.ts +23 -0
- package/dist/providers/ses.d.ts.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +54208 -0
- package/dist/server/serve.d.ts +6 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/types/index.d.ts +202 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Provider } from "../types/index.js";
|
|
2
|
+
import type { ProviderAdapter } from "./interface.js";
|
|
3
|
+
export declare function getAdapter(provider: Provider): ProviderAdapter;
|
|
4
|
+
export { ResendAdapter } from "./resend.js";
|
|
5
|
+
export { SESAdapter } from "./ses.js";
|
|
6
|
+
export type { ProviderAdapter, RemoteDomain, RemoteAddress, RemoteEvent } from "./interface.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAS9D;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { DnsRecord, DnsStatus, EventType, SendEmailOptions, Stats } from "../types/index.js";
|
|
2
|
+
export interface RemoteDomain {
|
|
3
|
+
domain: string;
|
|
4
|
+
dkim_status: DnsStatus;
|
|
5
|
+
spf_status: DnsStatus;
|
|
6
|
+
dmarc_status: DnsStatus;
|
|
7
|
+
}
|
|
8
|
+
export interface RemoteAddress {
|
|
9
|
+
email: string;
|
|
10
|
+
verified: boolean;
|
|
11
|
+
display_name?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface RemoteEvent {
|
|
14
|
+
provider_event_id: string;
|
|
15
|
+
type: EventType;
|
|
16
|
+
recipient?: string;
|
|
17
|
+
occurred_at: string;
|
|
18
|
+
provider_message_id?: string;
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface ProviderAdapter {
|
|
22
|
+
listDomains(): Promise<RemoteDomain[]>;
|
|
23
|
+
getDnsRecords(domain: string): Promise<DnsRecord[]>;
|
|
24
|
+
verifyDomain(domain: string): Promise<{
|
|
25
|
+
dkim: DnsStatus;
|
|
26
|
+
spf: DnsStatus;
|
|
27
|
+
dmarc: DnsStatus;
|
|
28
|
+
}>;
|
|
29
|
+
addDomain(domain: string): Promise<void>;
|
|
30
|
+
listAddresses(): Promise<RemoteAddress[]>;
|
|
31
|
+
addAddress(email: string): Promise<void>;
|
|
32
|
+
verifyAddress(email: string): Promise<boolean>;
|
|
33
|
+
sendEmail(opts: SendEmailOptions): Promise<string>;
|
|
34
|
+
pullEvents(since?: string): Promise<RemoteEvent[]>;
|
|
35
|
+
getStats(period?: string): Promise<Stats>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/providers/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAElG,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAC7F,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DnsRecord, DnsStatus, Provider, SendEmailOptions, Stats } from "../types/index.js";
|
|
2
|
+
import type { ProviderAdapter, RemoteAddress, RemoteDomain, RemoteEvent } from "./interface.js";
|
|
3
|
+
export declare class ResendAdapter implements ProviderAdapter {
|
|
4
|
+
private client;
|
|
5
|
+
private providerId;
|
|
6
|
+
constructor(provider: Provider);
|
|
7
|
+
listDomains(): Promise<RemoteDomain[]>;
|
|
8
|
+
getDnsRecords(domain: string): Promise<DnsRecord[]>;
|
|
9
|
+
verifyDomain(domain: string): Promise<{
|
|
10
|
+
dkim: DnsStatus;
|
|
11
|
+
spf: DnsStatus;
|
|
12
|
+
dmarc: DnsStatus;
|
|
13
|
+
}>;
|
|
14
|
+
addDomain(domain: string): Promise<void>;
|
|
15
|
+
listAddresses(): Promise<RemoteAddress[]>;
|
|
16
|
+
addAddress(_email: string): Promise<void>;
|
|
17
|
+
verifyAddress(_email: string): Promise<boolean>;
|
|
18
|
+
sendEmail(opts: SendEmailOptions): Promise<string>;
|
|
19
|
+
pullEvents(since?: string): Promise<RemoteEvent[]>;
|
|
20
|
+
getStats(period?: string): Promise<Stats>;
|
|
21
|
+
private mapStatus;
|
|
22
|
+
private mapEventType;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=resend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../../src/providers/resend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhG,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;gBAEf,QAAQ,EAAE,QAAQ;IAQxB,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAatC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA8CnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAsB5F,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKzC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClD,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgClD,QAAQ,CAAC,MAAM,SAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAK9C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;CAUrB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DnsRecord, DnsStatus, Provider, SendEmailOptions, Stats } from "../types/index.js";
|
|
2
|
+
import type { ProviderAdapter, RemoteAddress, RemoteDomain, RemoteEvent } from "./interface.js";
|
|
3
|
+
export declare class SESAdapter implements ProviderAdapter {
|
|
4
|
+
private client;
|
|
5
|
+
private providerId;
|
|
6
|
+
constructor(provider: Provider);
|
|
7
|
+
listDomains(): Promise<RemoteDomain[]>;
|
|
8
|
+
getDnsRecords(domain: string): Promise<DnsRecord[]>;
|
|
9
|
+
verifyDomain(domain: string): Promise<{
|
|
10
|
+
dkim: DnsStatus;
|
|
11
|
+
spf: DnsStatus;
|
|
12
|
+
dmarc: DnsStatus;
|
|
13
|
+
}>;
|
|
14
|
+
addDomain(domain: string): Promise<void>;
|
|
15
|
+
listAddresses(): Promise<RemoteAddress[]>;
|
|
16
|
+
addAddress(email: string): Promise<void>;
|
|
17
|
+
verifyAddress(email: string): Promise<boolean>;
|
|
18
|
+
sendEmail(opts: SendEmailOptions): Promise<string>;
|
|
19
|
+
pullEvents(_since?: string): Promise<RemoteEvent[]>;
|
|
20
|
+
getStats(period?: string): Promise<Stats>;
|
|
21
|
+
private mapDkimStatus;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ses.d.ts","sourceRoot":"","sources":["../../src/providers/ses.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhG,qBAAa,UAAW,YAAW,eAAe;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;gBAEf,QAAQ,EAAE,QAAQ;IAmBxB,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAkCtC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwCnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAiB5F,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxC,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAyBzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW9C,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8ClD,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMnD,QAAQ,CAAC,MAAM,SAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IA6D9C,OAAO,CAAC,aAAa;CAKtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":""}
|