groundmail 0.28.0 → 0.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authjs.d.ts +1 -1
- package/dist/authjs.js +1 -1
- package/dist/better-auth.d.ts +1 -1
- package/dist/better-auth.js +1 -1
- package/dist/{chunk-POS35D4J.js → chunk-PMQDWLBY.js} +43 -7
- package/dist/clerk.d.ts +1 -1
- package/dist/clerk.js +1 -1
- package/dist/{client-DdtHUMEu.d.ts → client-BkJCGT45.d.ts} +35 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/payload.d.ts +1 -1
- package/dist/payload.js +1 -1
- package/package.json +3 -3
package/dist/authjs.d.ts
CHANGED
package/dist/authjs.js
CHANGED
package/dist/better-auth.d.ts
CHANGED
package/dist/better-auth.js
CHANGED
|
@@ -70,6 +70,13 @@ function isSpfRecord(value) {
|
|
|
70
70
|
return value.trim().toLowerCase().startsWith("v=spf1");
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
// src/dns/dmarc.ts
|
|
74
|
+
var KEPT_DMARC_DETAIL = "You already have a DMARC record. Nothing to change.";
|
|
75
|
+
var ALREADY_SET_DETAIL = "Already set. Nothing to change.";
|
|
76
|
+
function isDmarcValue(value) {
|
|
77
|
+
return /^v=dmarc1\b/i.test(value.trim().replace(/^"/, ""));
|
|
78
|
+
}
|
|
79
|
+
|
|
73
80
|
// src/dns/cloudflare.ts
|
|
74
81
|
function relativeName(fqdn2, zone) {
|
|
75
82
|
const domain = zone.replace(/\.$/, "").toLowerCase();
|
|
@@ -125,6 +132,10 @@ function createCloudflareProvider(options) {
|
|
|
125
132
|
const recordType = record.type.toUpperCase();
|
|
126
133
|
const name = relativeName(record.host, zoneName);
|
|
127
134
|
const absoluteName = name === "@" ? zoneName : `${name}.${zoneName}`;
|
|
135
|
+
if (record.already_set) {
|
|
136
|
+
results.push({ purpose: record.purpose, host: record.host, action: "unchanged", detail: ALREADY_SET_DETAIL });
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
128
139
|
if (recordType === "CNAME") {
|
|
129
140
|
const target = record.value.replace(/\.$/, "").toLowerCase();
|
|
130
141
|
const existingList2 = await cf(
|
|
@@ -266,10 +277,13 @@ function createCloudflareProvider(options) {
|
|
|
266
277
|
});
|
|
267
278
|
continue;
|
|
268
279
|
}
|
|
280
|
+
if (record.purpose === "DMARC" && (existingList || []).some((r) => isDmarcValue(r.content))) {
|
|
281
|
+
results.push({ purpose: record.purpose, host: record.host, action: "unchanged", detail: KEPT_DMARC_DETAIL });
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
269
284
|
const replaceable = (existingList || []).find((r) => {
|
|
270
285
|
if (record.purpose === "Domain ownership") return r.content.includes("groundmail-verify=");
|
|
271
286
|
if (record.purpose === "DKIM") return r.content.toLowerCase().includes("v=dkim1");
|
|
272
|
-
if (record.purpose === "DMARC") return r.content.toLowerCase().includes("v=dmarc1");
|
|
273
287
|
return false;
|
|
274
288
|
});
|
|
275
289
|
if (replaceable) {
|
|
@@ -329,7 +343,6 @@ function ownedTxt(purpose, value) {
|
|
|
329
343
|
const lower = value.toLowerCase();
|
|
330
344
|
if (purpose === "Domain ownership") return lower.includes("groundmail-verify=");
|
|
331
345
|
if (purpose === "DKIM") return lower.includes("v=dkim1");
|
|
332
|
-
if (purpose === "DMARC") return lower.includes("v=dmarc1");
|
|
333
346
|
return false;
|
|
334
347
|
}
|
|
335
348
|
async function applyToRecordStore(zone, records, store) {
|
|
@@ -341,6 +354,10 @@ async function applyToRecordStore(zone, records, store) {
|
|
|
341
354
|
const name = relativeName2(record.host, zone);
|
|
342
355
|
const value = normalizeValue(type, record.value);
|
|
343
356
|
const done = (action, detail) => results.push({ purpose: record.purpose, host: record.host, action, ...detail ? { detail } : {} });
|
|
357
|
+
if (record.already_set) {
|
|
358
|
+
done("unchanged", ALREADY_SET_DETAIL);
|
|
359
|
+
continue;
|
|
360
|
+
}
|
|
344
361
|
if (type === "CNAME") {
|
|
345
362
|
const existing = at("CNAME", name)[0];
|
|
346
363
|
if (existing && normalizeValue(type, existing.value) === value) {
|
|
@@ -388,6 +405,10 @@ async function applyToRecordStore(zone, records, store) {
|
|
|
388
405
|
done("unchanged");
|
|
389
406
|
continue;
|
|
390
407
|
}
|
|
408
|
+
if (record.purpose === "DMARC" && sameName.some((row) => isDmarcValue(normalizeValue(type, row.value)))) {
|
|
409
|
+
done("unchanged", KEPT_DMARC_DETAIL);
|
|
410
|
+
continue;
|
|
411
|
+
}
|
|
391
412
|
const replaceable = sameName.find((row) => ownedTxt(record.purpose, normalizeValue(type, row.value)));
|
|
392
413
|
if (replaceable) {
|
|
393
414
|
await store.update(replaceable, { name, type, value });
|
|
@@ -521,6 +542,10 @@ function createGoDaddyKeyProvider(options) {
|
|
|
521
542
|
for (const record of records) {
|
|
522
543
|
const recordType = record.type.toUpperCase();
|
|
523
544
|
const name = relativeName3(record.host, zone);
|
|
545
|
+
if (record.already_set) {
|
|
546
|
+
results.push({ purpose: record.purpose, host: record.host, action: "unchanged", detail: ALREADY_SET_DETAIL });
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
524
549
|
if (recordType === "CNAME") {
|
|
525
550
|
const target = record.value.replace(/\.$/, "");
|
|
526
551
|
const existing2 = await gd(
|
|
@@ -622,10 +647,13 @@ function createGoDaddyKeyProvider(options) {
|
|
|
622
647
|
results.push({ purpose: record.purpose, host: record.host, action: "unchanged" });
|
|
623
648
|
continue;
|
|
624
649
|
}
|
|
650
|
+
if (record.purpose === "DMARC" && list.some((r) => isDmarcValue(r.data))) {
|
|
651
|
+
results.push({ purpose: record.purpose, host: record.host, action: "unchanged", detail: KEPT_DMARC_DETAIL });
|
|
652
|
+
continue;
|
|
653
|
+
}
|
|
625
654
|
const replaceableIndex = list.findIndex((r) => {
|
|
626
655
|
if (record.purpose === "Domain ownership") return r.data.includes("groundmail-verify=");
|
|
627
656
|
if (record.purpose === "DKIM") return r.data.toLowerCase().includes("v=dkim1");
|
|
628
|
-
if (record.purpose === "DMARC") return r.data.toLowerCase().includes("v=dmarc1");
|
|
629
657
|
return false;
|
|
630
658
|
});
|
|
631
659
|
const next = replaceableIndex >= 0 ? list.map(
|
|
@@ -913,6 +941,10 @@ function createVercelProvider(options) {
|
|
|
913
941
|
for (const record of records) {
|
|
914
942
|
const recordType = record.type.toUpperCase();
|
|
915
943
|
const name = relativeName4(record.host, zone);
|
|
944
|
+
if (record.already_set) {
|
|
945
|
+
results.push({ purpose: record.purpose, host: record.host, action: "unchanged", detail: ALREADY_SET_DETAIL });
|
|
946
|
+
continue;
|
|
947
|
+
}
|
|
916
948
|
if (recordType === "CNAME") {
|
|
917
949
|
const target = record.value.replace(/\.$/, "").toLowerCase();
|
|
918
950
|
const existing = cached.find(
|
|
@@ -978,7 +1010,7 @@ function createVercelProvider(options) {
|
|
|
978
1010
|
}
|
|
979
1011
|
if (record.purpose === "SPF") {
|
|
980
1012
|
const spfRecords = cached.filter(
|
|
981
|
-
(row) => row.type === "TXT" && row.name ===
|
|
1013
|
+
(row) => row.type === "TXT" && row.name === name && isSpfRecord(row.value)
|
|
982
1014
|
);
|
|
983
1015
|
const existing = spfRecords[0];
|
|
984
1016
|
const includeHost = record.value.match(/include:([^\s]+)/i)?.[1] || "spf.groundmail.dev";
|
|
@@ -994,7 +1026,7 @@ function createVercelProvider(options) {
|
|
|
994
1026
|
} else {
|
|
995
1027
|
await vercel(`/v1/domains/records/${existing.id}`, {
|
|
996
1028
|
method: "PATCH",
|
|
997
|
-
body: JSON.stringify({ type: "TXT", name
|
|
1029
|
+
body: JSON.stringify({ type: "TXT", name, value: merged, ttl: 60 })
|
|
998
1030
|
});
|
|
999
1031
|
results.push({
|
|
1000
1032
|
purpose: record.purpose,
|
|
@@ -1006,7 +1038,7 @@ function createVercelProvider(options) {
|
|
|
1006
1038
|
} else {
|
|
1007
1039
|
await vercel(`/v2/domains/${encodeURIComponent(zone)}/records`, {
|
|
1008
1040
|
method: "POST",
|
|
1009
|
-
body: JSON.stringify({ type: "TXT", name
|
|
1041
|
+
body: JSON.stringify({ type: "TXT", name, value: merged, ttl: 60 })
|
|
1010
1042
|
});
|
|
1011
1043
|
results.push({
|
|
1012
1044
|
purpose: record.purpose,
|
|
@@ -1024,10 +1056,13 @@ function createVercelProvider(options) {
|
|
|
1024
1056
|
results.push({ purpose: record.purpose, host: record.host, action: "unchanged" });
|
|
1025
1057
|
continue;
|
|
1026
1058
|
}
|
|
1059
|
+
if (record.purpose === "DMARC" && existingList.some((row) => isDmarcValue(row.value))) {
|
|
1060
|
+
results.push({ purpose: record.purpose, host: record.host, action: "unchanged", detail: KEPT_DMARC_DETAIL });
|
|
1061
|
+
continue;
|
|
1062
|
+
}
|
|
1027
1063
|
const replaceable = existingList.find((row) => {
|
|
1028
1064
|
if (record.purpose === "Domain ownership") return row.value.includes("groundmail-verify=");
|
|
1029
1065
|
if (record.purpose === "DKIM") return row.value.toLowerCase().includes("v=dkim1");
|
|
1030
|
-
if (record.purpose === "DMARC") return row.value.toLowerCase().includes("v=dmarc1");
|
|
1031
1066
|
return false;
|
|
1032
1067
|
});
|
|
1033
1068
|
if (replaceable) {
|
|
@@ -1755,6 +1790,7 @@ var ReceivedEmailsResource = class {
|
|
|
1755
1790
|
if (params.limit != null) search.set("limit", String(params.limit));
|
|
1756
1791
|
if (params.cursor) search.set("cursor", params.cursor);
|
|
1757
1792
|
if (params.domain) search.set("domain", params.domain);
|
|
1793
|
+
if (params.inReplyToEmail) search.set("in_reply_to_email", params.inReplyToEmail);
|
|
1758
1794
|
const query = search.toString();
|
|
1759
1795
|
return this.client.request(
|
|
1760
1796
|
`/received-emails${query ? `?${query}` : ""}`,
|
package/dist/clerk.d.ts
CHANGED
package/dist/clerk.js
CHANGED
|
@@ -195,6 +195,26 @@ type ReceivedEmailAttachmentMeta = {
|
|
|
195
195
|
type ReceivedEmailAttachment = ReceivedEmailAttachmentMeta & {
|
|
196
196
|
data?: string;
|
|
197
197
|
};
|
|
198
|
+
/**
|
|
199
|
+
* The email you sent through Groundmail that a received email replies to, as it was
|
|
200
|
+
* when the reply arrived (so it outlives your plan's data retention for the sent email).
|
|
201
|
+
*/
|
|
202
|
+
type InReplyToEmail = {
|
|
203
|
+
/** The sent email's id (`msg_…`). */
|
|
204
|
+
id: string;
|
|
205
|
+
subject: string;
|
|
206
|
+
from: string;
|
|
207
|
+
to: string[];
|
|
208
|
+
/** When it was sent (ISO 8601). */
|
|
209
|
+
sent_at: string;
|
|
210
|
+
/** The email's tags as sent (`[]` when it had none). */
|
|
211
|
+
tags: Array<{
|
|
212
|
+
name: string;
|
|
213
|
+
value: string;
|
|
214
|
+
}>;
|
|
215
|
+
/** The tenant's external id when it was sent as a tenant, else null. */
|
|
216
|
+
tenant: string | null;
|
|
217
|
+
};
|
|
198
218
|
type ReceivedEmail = {
|
|
199
219
|
id: string;
|
|
200
220
|
domain_id: string;
|
|
@@ -215,6 +235,11 @@ type ReceivedEmail = {
|
|
|
215
235
|
message_id: string | null;
|
|
216
236
|
in_reply_to: string | null;
|
|
217
237
|
references: string[];
|
|
238
|
+
/**
|
|
239
|
+
* The email you sent through Groundmail that this one replies to, matched by its
|
|
240
|
+
* In-Reply-To, then References. Null when it replies to none of your sent emails.
|
|
241
|
+
*/
|
|
242
|
+
in_reply_to_email: InReplyToEmail | null;
|
|
218
243
|
attachment_count: number;
|
|
219
244
|
attachments: ReceivedEmailAttachment[];
|
|
220
245
|
text_body: string | null;
|
|
@@ -227,6 +252,8 @@ type ListReceivedEmailsParams = {
|
|
|
227
252
|
limit?: number;
|
|
228
253
|
cursor?: string;
|
|
229
254
|
domain?: string;
|
|
255
|
+
/** Only replies to this sent email (`msg_…`). */
|
|
256
|
+
inReplyToEmail?: string;
|
|
230
257
|
};
|
|
231
258
|
type ListReceivedEmailsResult = {
|
|
232
259
|
received_emails: ReceivedEmail[];
|
|
@@ -931,6 +958,11 @@ type DnsRecord = {
|
|
|
931
958
|
purpose: string;
|
|
932
959
|
/** MX preference when `type` is `MX`. Mail hostname is in `value`. */
|
|
933
960
|
priority?: number;
|
|
961
|
+
/**
|
|
962
|
+
* The domain already publishes a record that does this job (its own DMARC record).
|
|
963
|
+
* `value` is what is published now; nothing to add or change, and apply leaves it alone.
|
|
964
|
+
*/
|
|
965
|
+
already_set?: boolean;
|
|
934
966
|
};
|
|
935
967
|
type CreateDomainParams = {
|
|
936
968
|
name: string;
|
|
@@ -988,9 +1020,11 @@ type VerifyDomainResult = {
|
|
|
988
1020
|
verified: boolean;
|
|
989
1021
|
checks?: {
|
|
990
1022
|
ownership: boolean;
|
|
1023
|
+
/** True when SPF needs nothing more. Always true for a main domain (example.com), which needs no SPF change. */
|
|
991
1024
|
spf: boolean;
|
|
992
1025
|
dkim: boolean;
|
|
993
1026
|
dmarc: boolean;
|
|
1027
|
+
return_path?: boolean;
|
|
994
1028
|
};
|
|
995
1029
|
auto?: boolean;
|
|
996
1030
|
inbound_configured?: boolean;
|
|
@@ -1928,4 +1962,4 @@ declare function normalizeAccessToken(value: GroundmailAccessToken | null | unde
|
|
|
1928
1962
|
expiresAt: number | null;
|
|
1929
1963
|
};
|
|
1930
1964
|
|
|
1931
|
-
export { type DmarcStatus as $, type ApiErrorBody as A, type BatchSendEmailResult as B, type CategoryOptOut as C, type DnsRecord as D, type CreateDomainResult as E, type CreateMigrationParams as F, Groundmail as G, type CreateSuppressionParams as H, type CreateTemplateParams as I, type CreateTenantParams as J, type CreateWebhookParams as K, DEFAULT_API_BASE_URL as L, type DailyRampLimitErrorDetails as M, type DeleteTenantResult as N, type DeliverabilityBucket as O, type DeliverabilityDomainInsight as P, type DeliverabilityInsightsResult as Q, type DeliverabilityMailServerRelay as R, type SendEmailResult as S, type DeliverabilityWindow as T, type DmarcDailyPoint as U, type DmarcMonitoring as V, type DmarcMonitoringDisabled as W, type DmarcReadiness as X, type DmarcReadinessVerdict as Y, type DmarcSource as Z, type DmarcSourceStatus as _, type ApiErrorCode as a, type
|
|
1965
|
+
export { type DmarcStatus as $, type ApiErrorBody as A, type BatchSendEmailResult as B, type CategoryOptOut as C, type DnsRecord as D, type CreateDomainResult as E, type CreateMigrationParams as F, Groundmail as G, type CreateSuppressionParams as H, type CreateTemplateParams as I, type CreateTenantParams as J, type CreateWebhookParams as K, DEFAULT_API_BASE_URL as L, type DailyRampLimitErrorDetails as M, type DeleteTenantResult as N, type DeliverabilityBucket as O, type DeliverabilityDomainInsight as P, type DeliverabilityInsightsResult as Q, type DeliverabilityMailServerRelay as R, type SendEmailResult as S, type DeliverabilityWindow as T, type DmarcDailyPoint as U, type DmarcMonitoring as V, type DmarcMonitoringDisabled as W, type DmarcReadiness as X, type DmarcReadinessVerdict as Y, type DmarcSource as Z, type DmarcSourceStatus as _, type ApiErrorCode as a, type RemoteApplyDnsCredentials as a$, type DnsProviderName as a0, type Domain as a1, type DomainBimiAnalysis as a2, type DomainDetailResult as a3, type DomainDmarcAnalysis as a4, type DomainDnsAnalysis as a5, type DomainStatus as a6, type DomainTlsMode as a7, type DomainTrackingDns as a8, type DomainTrackingStatus as a9, type ListReceivedEmailsParams as aA, type ListReceivedEmailsResult as aB, type ListSuppressionsParams as aC, type ListSuppressionsResult as aD, type ListTemplatesParams as aE, type ListTemplatesResult as aF, type ListTenantDomainsResult as aG, type ListTenantsParams as aH, type ListTenantsResult as aI, type ListTestInboxEmailsParams as aJ, type ListTestInboxEmailsResult as aK, type MailServerSigningStatus as aL, type MailStream as aM, type Migration as aN, type MigrationDnsChange as aO, type MigrationDnsPlan as aP, type MigrationDomainItem as aQ, type MigrationItemStatus as aR, type MigrationProvider as aS, type MigrationResource as aT, type MigrationSummary as aU, type MigrationTemplateItem as aV, type MigrationTotals as aW, type MigrationWebhookItem as aX, type ReceivedEmail as aY, type ReceivedEmailAttachment as aZ, type ReceivedEmailAttachmentMeta as a_, type EmailListItem as aa, type EmailWebhookEventPayload as ab, type EmailWebhookEventType as ac, type EnableDmarcParams as ad, type EnableDmarcResult as ae, type EnrollmentSkip as af, type EventRecord as ag, type GroundmailAccessToken as ah, type GroundmailOptions as ai, type GroundmailTokenOptions as aj, type GroundmailTokenProvider as ak, type HeldBackErrorDetails as al, type HeldBackReason as am, type HeldBackRecipient as an, type InReplyToEmail as ao, type ListApiKeysParams as ap, type ListApiKeysResult as aq, type ListAutomationRunsParams as ar, type ListAutomationRunsResult as as, type ListAutomationsResult as at, type ListCategoryOptOutsParams as au, type ListCategoryOptOutsResult as av, type ListDomainsParams as aw, type ListDomainsResult as ax, type ListEmailsParams as ay, type ListEmailsResult as az, type ApiKey as b, type RemoveCategoryOptOutOptions as b0, type RunMigrationOptions as b1, type SendEmailParams as b2, type StreamDeliverability as b3, type SuppressedErrorDetails as b4, type Suppression as b5, TEST_INBOX_WAIT_DEFAULT_MS as b6, TEST_INBOX_WAIT_MAX_SECONDS as b7, type Template as b8, type TemplateFormat as b9, type UpdateEmailParams as bA, type UpdateTemplateParams as bB, type UpdateTenantParams as bC, type UpdateWebhookParams as bD, type ValidateEmailResult as bE, type ValidationReason as bF, type ValidationVerdict as bG, type VerifyDomainResult as bH, type WaitForTestEmailParams as bI, type WebhookEmailTag as bJ, type WebhookEndpoint as bK, type WebhookEndpointWithSecret as bL, type WebhookEventType as bM, mergeMigrations as bN, normalizeAccessToken as bO, type TemplateLintWarning as ba, type TemplateStarter as bb, type TemplateStatus as bc, type TemplateVersion as bd, type Tenant as be, type TenantPauseSource as bf, type TenantRamp as bg, type TenantStats as bh, type TenantStatsResult as bi, type TenantStatus as bj, type TenantStreamPolicy as bk, type TestEmailWebhookParams as bl, type TestEmailWebhookResult as bm, type TestInbox as bn, type TestInboxAddressOptions as bo, type TestInboxEmail as bp, type TestInboxEmailDetail as bq, type TestInboxHeader as br, TestInboxResource as bs, type TestInboxUsage as bt, type TriggerEventParams as bu, type TriggerEventResult as bv, type TwilioIntegrationResponse as bw, type TwilioIntegrationStatus as bx, type UpdateAutomationParams as by, type UpdateDomainParams as bz, type ApiKeyScope as c, type ApplyDnsParams as d, type ApplyDnsRecordResult as e, type ApplyDnsResult as f, type Asset as g, type Automation as h, type AutomationResult as i, type AutomationRun as j, type AutomationRunResponse as k, type AutomationRunStatus as l, type AutomationRunStep as m, type AutomationRunStepStatus as n, type AutomationStatus as o, type AutomationStep as p, type AutomationTrigger as q, type BounceType as r, type CategoryOptOutCategory as s, type CategoryUnsubscribedErrorDetails as t, type ConnectTwilioParams as u, type ContactWebhookEventPayload as v, type CreateApiKeyParams as w, type CreateApiKeyResult as x, type CreateAutomationParams as y, type CreateDomainParams as z };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as ApiErrorBody, D as DnsRecord } from './client-
|
|
2
|
-
export { a as ApiErrorCode, b as ApiKey, c as ApiKeyScope, d as ApplyDnsParams, e as ApplyDnsRecordResult, f as ApplyDnsResult, g as Asset, h as Automation, i as AutomationResult, j as AutomationRun, k as AutomationRunResponse, l as AutomationRunStatus, m as AutomationRunStep, n as AutomationRunStepStatus, o as AutomationStatus, p as AutomationStep, q as AutomationTrigger, B as BatchSendEmailResult, r as BounceType, C as CategoryOptOut, s as CategoryOptOutCategory, t as CategoryUnsubscribedErrorDetails, u as ConnectTwilioParams, v as ContactWebhookEventPayload, w as CreateApiKeyParams, x as CreateApiKeyResult, y as CreateAutomationParams, z as CreateDomainParams, E as CreateDomainResult, F as CreateMigrationParams, H as CreateSuppressionParams, I as CreateTemplateParams, J as CreateTenantParams, K as CreateWebhookParams, L as DEFAULT_API_BASE_URL, M as DailyRampLimitErrorDetails, N as DeleteTenantResult, O as DeliverabilityBucket, P as DeliverabilityDomainInsight, Q as DeliverabilityInsightsResult, R as DeliverabilityMailServerRelay, T as DeliverabilityWindow, U as DmarcDailyPoint, V as DmarcMonitoring, W as DmarcMonitoringDisabled, X as DmarcReadiness, Y as DmarcReadinessVerdict, Z as DmarcSource, _ as DmarcSourceStatus, $ as DmarcStatus, a0 as DnsProviderName, a1 as Domain, a2 as DomainBimiAnalysis, a3 as DomainDetailResult, a4 as DomainDmarcAnalysis, a5 as DomainDnsAnalysis, a6 as DomainStatus, a7 as DomainTlsMode, a8 as DomainTrackingDns, a9 as DomainTrackingStatus, aa as EmailListItem, ab as EmailWebhookEventPayload, ac as EmailWebhookEventType, ad as EnableDmarcParams, ae as EnableDmarcResult, af as EnrollmentSkip, ag as EventRecord, G as Groundmail, ah as GroundmailAccessToken, ai as GroundmailOptions, aj as GroundmailTokenOptions, ak as GroundmailTokenProvider, al as HeldBackErrorDetails, am as HeldBackReason, an as HeldBackRecipient, ao as
|
|
1
|
+
import { A as ApiErrorBody, D as DnsRecord } from './client-BkJCGT45.js';
|
|
2
|
+
export { a as ApiErrorCode, b as ApiKey, c as ApiKeyScope, d as ApplyDnsParams, e as ApplyDnsRecordResult, f as ApplyDnsResult, g as Asset, h as Automation, i as AutomationResult, j as AutomationRun, k as AutomationRunResponse, l as AutomationRunStatus, m as AutomationRunStep, n as AutomationRunStepStatus, o as AutomationStatus, p as AutomationStep, q as AutomationTrigger, B as BatchSendEmailResult, r as BounceType, C as CategoryOptOut, s as CategoryOptOutCategory, t as CategoryUnsubscribedErrorDetails, u as ConnectTwilioParams, v as ContactWebhookEventPayload, w as CreateApiKeyParams, x as CreateApiKeyResult, y as CreateAutomationParams, z as CreateDomainParams, E as CreateDomainResult, F as CreateMigrationParams, H as CreateSuppressionParams, I as CreateTemplateParams, J as CreateTenantParams, K as CreateWebhookParams, L as DEFAULT_API_BASE_URL, M as DailyRampLimitErrorDetails, N as DeleteTenantResult, O as DeliverabilityBucket, P as DeliverabilityDomainInsight, Q as DeliverabilityInsightsResult, R as DeliverabilityMailServerRelay, T as DeliverabilityWindow, U as DmarcDailyPoint, V as DmarcMonitoring, W as DmarcMonitoringDisabled, X as DmarcReadiness, Y as DmarcReadinessVerdict, Z as DmarcSource, _ as DmarcSourceStatus, $ as DmarcStatus, a0 as DnsProviderName, a1 as Domain, a2 as DomainBimiAnalysis, a3 as DomainDetailResult, a4 as DomainDmarcAnalysis, a5 as DomainDnsAnalysis, a6 as DomainStatus, a7 as DomainTlsMode, a8 as DomainTrackingDns, a9 as DomainTrackingStatus, aa as EmailListItem, ab as EmailWebhookEventPayload, ac as EmailWebhookEventType, ad as EnableDmarcParams, ae as EnableDmarcResult, af as EnrollmentSkip, ag as EventRecord, G as Groundmail, ah as GroundmailAccessToken, ai as GroundmailOptions, aj as GroundmailTokenOptions, ak as GroundmailTokenProvider, al as HeldBackErrorDetails, am as HeldBackReason, an as HeldBackRecipient, ao as InReplyToEmail, ap as ListApiKeysParams, aq as ListApiKeysResult, ar as ListAutomationRunsParams, as as ListAutomationRunsResult, at as ListAutomationsResult, au as ListCategoryOptOutsParams, av as ListCategoryOptOutsResult, aw as ListDomainsParams, ax as ListDomainsResult, ay as ListEmailsParams, az as ListEmailsResult, aA as ListReceivedEmailsParams, aB as ListReceivedEmailsResult, aC as ListSuppressionsParams, aD as ListSuppressionsResult, aE as ListTemplatesParams, aF as ListTemplatesResult, aG as ListTenantDomainsResult, aH as ListTenantsParams, aI as ListTenantsResult, aJ as ListTestInboxEmailsParams, aK as ListTestInboxEmailsResult, aL as MailServerSigningStatus, aM as MailStream, aN as Migration, aO as MigrationDnsChange, aP as MigrationDnsPlan, aQ as MigrationDomainItem, aR as MigrationItemStatus, aS as MigrationProvider, aT as MigrationResource, aU as MigrationSummary, aV as MigrationTemplateItem, aW as MigrationTotals, aX as MigrationWebhookItem, aY as ReceivedEmail, aZ as ReceivedEmailAttachment, a_ as ReceivedEmailAttachmentMeta, a$ as RemoteApplyDnsCredentials, b0 as RemoveCategoryOptOutOptions, b1 as RunMigrationOptions, b2 as SendEmailParams, S as SendEmailResult, b3 as StreamDeliverability, b4 as SuppressedErrorDetails, b5 as Suppression, b6 as TEST_INBOX_WAIT_DEFAULT_MS, b7 as TEST_INBOX_WAIT_MAX_SECONDS, b8 as Template, b9 as TemplateFormat, ba as TemplateLintWarning, bb as TemplateStarter, bc as TemplateStatus, bd as TemplateVersion, be as Tenant, bf as TenantPauseSource, bg as TenantRamp, bh as TenantStats, bi as TenantStatsResult, bj as TenantStatus, bk as TenantStreamPolicy, bl as TestEmailWebhookParams, bm as TestEmailWebhookResult, bn as TestInbox, bo as TestInboxAddressOptions, bp as TestInboxEmail, bq as TestInboxEmailDetail, br as TestInboxHeader, bs as TestInboxResource, bt as TestInboxUsage, bu as TriggerEventParams, bv as TriggerEventResult, bw as TwilioIntegrationResponse, bx as TwilioIntegrationStatus, by as UpdateAutomationParams, bz as UpdateDomainParams, bA as UpdateEmailParams, bB as UpdateTemplateParams, bC as UpdateTenantParams, bD as UpdateWebhookParams, bE as ValidateEmailResult, bF as ValidationReason, bG as ValidationVerdict, bH as VerifyDomainResult, bI as WaitForTestEmailParams, bJ as WebhookEmailTag, bK as WebhookEndpoint, bL as WebhookEndpointWithSecret, bM as WebhookEventType, bN as mergeMigrations, bO as normalizeAccessToken } from './client-BkJCGT45.js';
|
|
3
3
|
|
|
4
4
|
type GroundmailErrorOptions = {
|
|
5
5
|
code?: string;
|
package/dist/index.js
CHANGED
package/dist/payload.d.ts
CHANGED
package/dist/payload.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "groundmail",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.1",
|
|
4
4
|
"description": "Groundmail transactional email API client",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -89,11 +89,11 @@
|
|
|
89
89
|
"prepublishOnly": "npm run build && npm run build:nodemailer-bridge"
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"groundmail-nodemailer": "0.15.
|
|
92
|
+
"groundmail-nodemailer": "0.15.18"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@types/nodemailer": "^8.0.1",
|
|
96
|
-
"nodemailer": "^
|
|
96
|
+
"nodemailer": "^10.2.1",
|
|
97
97
|
"tsup": "^8.5.0",
|
|
98
98
|
"typescript": "^5",
|
|
99
99
|
"vitest": "^3.2.4"
|