groundmail 0.14.5 → 0.14.7

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 CHANGED
@@ -1,4 +1,4 @@
1
- import { G as Groundmail } from './client-BysKOdUg.js';
1
+ import { G as Groundmail } from './client-B4Gk87z2.js';
2
2
 
3
3
  /** Subset of Auth.js theme used for the default magic-link email. */
4
4
  type AuthjsTheme = {
package/dist/authjs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_API_BASE_URL,
3
3
  Groundmail
4
- } from "./chunk-2ZKYDDVV.js";
4
+ } from "./chunk-LKMNSXA3.js";
5
5
 
6
6
  // src/authjs.ts
7
7
  function escapeHtml(value) {
@@ -1,4 +1,4 @@
1
- import { S as SendEmailResult, G as Groundmail } from './client-BysKOdUg.js';
1
+ import { S as SendEmailResult, G as Groundmail } from './client-B4Gk87z2.js';
2
2
 
3
3
  type BetterAuthEmailUser = {
4
4
  email: string;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_API_BASE_URL,
3
3
  Groundmail
4
- } from "./chunk-2ZKYDDVV.js";
4
+ } from "./chunk-LKMNSXA3.js";
5
5
 
6
6
  // src/better-auth.ts
7
7
  function linkHtml(label, url) {
@@ -738,6 +738,57 @@ async function applyDnsRecords(input) {
738
738
  };
739
739
  }
740
740
 
741
+ // src/migrations.ts
742
+ function mergeMigrations(previous, next) {
743
+ if (!previous || previous.id !== next.id) return next;
744
+ const merged = {
745
+ ...next,
746
+ errors: [...previous.errors, ...next.errors],
747
+ notes: [.../* @__PURE__ */ new Set([...previous.notes, ...next.notes])]
748
+ };
749
+ if (next.domains) merged.domains = { totals: next.domains.totals, items: [...previous.domains?.items ?? [], ...next.domains.items] };
750
+ if (next.webhooks) merged.webhooks = { totals: next.webhooks.totals, items: [...previous.webhooks?.items ?? [], ...next.webhooks.items] };
751
+ if (next.templates) merged.templates = { totals: next.templates.totals, items: [...previous.templates?.items ?? [], ...next.templates.items] };
752
+ if (next.suppressions) {
753
+ const reasons = { ...previous.suppressions?.skipped_reasons ?? {} };
754
+ for (const [reason, count] of Object.entries(next.suppressions.skipped_reasons)) {
755
+ reasons[reason] = (reasons[reason] ?? 0) + count;
756
+ }
757
+ merged.suppressions = {
758
+ totals: next.suppressions.totals,
759
+ skipped_reasons: reasons,
760
+ estimated: Boolean(previous.suppressions?.estimated) || next.suppressions.estimated
761
+ };
762
+ }
763
+ return merged;
764
+ }
765
+ var MigrationsResource = class {
766
+ constructor(client) {
767
+ this.client = client;
768
+ }
769
+ /** One request (about 40 seconds of work). Continue with `cursor` while `has_more`. */
770
+ async create(params) {
771
+ return this.client.request("/migrations", {
772
+ method: "POST",
773
+ body: JSON.stringify(params)
774
+ });
775
+ }
776
+ /** The whole import: follows `next_cursor` until done and returns the combined report. */
777
+ async run(params, options = {}) {
778
+ const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
779
+ let merged = null;
780
+ let cursor = params.cursor;
781
+ for (; ; ) {
782
+ const { migration } = await this.create({ ...params, ...cursor ? { cursor } : {} });
783
+ merged = mergeMigrations(merged, migration);
784
+ options.onProgress?.(merged);
785
+ if (!merged.has_more || !merged.next_cursor || options.signal?.aborted) return merged;
786
+ if (merged.retry_after_seconds) await sleep(merged.retry_after_seconds * 1e3);
787
+ cursor = merged.next_cursor;
788
+ }
789
+ }
790
+ };
791
+
741
792
  // src/webhooks/verify.ts
742
793
  import { createHmac, timingSafeEqual } from "crypto";
743
794
  function signWebhookPayload(secret, payload, timestamp) {
@@ -1361,6 +1412,7 @@ var Groundmail = class {
1361
1412
  this.smtpCredentials = new SmtpCredentialsResource(this);
1362
1413
  this.suppressions = new SuppressionsResource(this);
1363
1414
  this.templates = new TemplatesResource(this);
1415
+ this.migrations = new MigrationsResource(this);
1364
1416
  }
1365
1417
  get baseUrl() {
1366
1418
  return (this.options.baseUrl || DEFAULT_API_BASE_URL).replace(/\/$/, "");
@@ -1389,6 +1441,7 @@ export {
1389
1441
  GroundmailError,
1390
1442
  mergeSpfInclude,
1391
1443
  applyDnsRecords,
1444
+ mergeMigrations,
1392
1445
  signWebhookPayload,
1393
1446
  buildSignatureHeader,
1394
1447
  verifyWebhookSignature,
package/dist/clerk.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { G as Groundmail, S as SendEmailResult } from './client-BysKOdUg.js';
1
+ import { G as Groundmail, S as SendEmailResult } from './client-B4Gk87z2.js';
2
2
 
3
3
  /**
4
4
  * Subset of Clerk `email.created` webhook `data` used for delivery.
package/dist/clerk.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_API_BASE_URL,
3
3
  Groundmail
4
- } from "./chunk-2ZKYDDVV.js";
4
+ } from "./chunk-LKMNSXA3.js";
5
5
 
6
6
  // src/clerk.ts
7
7
  function resolveApiKey(options) {
@@ -51,8 +51,12 @@ type SendEmailParams = {
51
51
  idempotencyKey?: string;
52
52
  /** Opt in to managed unsubscribe for this send. */
53
53
  unsubscribe?: boolean;
54
- /** Optional category override for preference management. */
55
- category?: 'transactional' | 'product' | 'newsletter';
54
+ /**
55
+ * Optional category override. `product` (onboarding, lifecycle, notifications)
56
+ * honours category opt-outs and is sent from a separate IP pool. `newsletter`
57
+ * is not accepted: Groundmail is for transactional and product email.
58
+ */
59
+ category?: 'transactional' | 'product';
56
60
  };
57
61
  type SendEmailResult = {
58
62
  id: string;
@@ -550,7 +554,7 @@ type CreateTemplateParams = {
550
554
  alias?: string;
551
555
  variables?: string[];
552
556
  unsubscribe_enabled?: boolean;
553
- category?: 'transactional' | 'product' | 'newsletter';
557
+ category?: 'transactional' | 'product';
554
558
  };
555
559
  type TemplateStarter = {
556
560
  alias: string;
@@ -575,7 +579,7 @@ type UpdateTemplateParams = {
575
579
  alias?: string | null;
576
580
  variables?: string[] | null;
577
581
  unsubscribe_enabled?: boolean;
578
- category?: 'transactional' | 'product' | 'newsletter' | null;
582
+ category?: 'transactional' | 'product' | null;
579
583
  };
580
584
  type GroundmailOptions = {
581
585
  baseUrl?: string;
@@ -769,6 +773,116 @@ type ApiErrorBody = {
769
773
  } & Omit<ApiErrorFields, 'message'> & {
770
774
  message?: string;
771
775
  };
776
+ /** Providers the importer reads from (Beta). */
777
+ type MigrationProvider = 'sendgrid' | 'postmark' | 'mailgun';
778
+ type MigrationResource = 'domains' | 'webhooks' | 'templates' | 'suppressions';
779
+ type MigrationItemStatus = 'imported' | 'would_import' | 'needs_attention' | 'skipped' | 'failed';
780
+ type CreateMigrationParams = {
781
+ provider: MigrationProvider;
782
+ /** SendGrid API key, Postmark server token or Mailgun private key. Used for the import only; never stored. */
783
+ api_key: string;
784
+ /** Postmark only: the account token, needed to import sending domains. */
785
+ account_api_key?: string;
786
+ /** SendGrid and Mailgun: `eu` for EU-region accounts. */
787
+ region?: 'us' | 'eu';
788
+ /** What to import; all four by default. */
789
+ resources?: MigrationResource[];
790
+ /** Preview without writing anything. */
791
+ dry_run?: boolean;
792
+ /** `next_cursor` from the previous response, to continue. */
793
+ cursor?: string;
794
+ };
795
+ type MigrationTotals = Record<string, number>;
796
+ type MigrationDomainItem = {
797
+ name: string;
798
+ status: MigrationItemStatus;
799
+ domain_id: string | null;
800
+ verified_at_source: boolean | null;
801
+ records: Array<{
802
+ type: string;
803
+ host: string;
804
+ value: string;
805
+ purpose: string;
806
+ }>;
807
+ dashboard_url: string | null;
808
+ message: string | null;
809
+ };
810
+ type MigrationWebhookItem = {
811
+ url: string;
812
+ status: MigrationItemStatus;
813
+ webhook_id: string | null;
814
+ /** Signing secret of a webhook created by this request (shown once). */
815
+ secret: string | null;
816
+ enabled: boolean;
817
+ source_events: string[];
818
+ events: string[];
819
+ unmapped_events: string[];
820
+ message: string | null;
821
+ };
822
+ type MigrationTemplateItem = {
823
+ source_id: string;
824
+ name: string;
825
+ status: MigrationItemStatus;
826
+ template_id: string | null;
827
+ alias: string | null;
828
+ published: boolean;
829
+ variables: string[];
830
+ notes: string[];
831
+ message: string | null;
832
+ };
833
+ type Migration = {
834
+ id: string;
835
+ provider: MigrationProvider;
836
+ dry_run: boolean;
837
+ status: 'in_progress' | 'completed' | 'partial' | 'failed';
838
+ started_at: string;
839
+ resources: MigrationResource[];
840
+ has_more: boolean;
841
+ next_cursor: string | null;
842
+ retry_after_seconds: number | null;
843
+ domains?: {
844
+ totals: MigrationTotals;
845
+ items: MigrationDomainItem[];
846
+ };
847
+ webhooks?: {
848
+ totals: MigrationTotals;
849
+ items: MigrationWebhookItem[];
850
+ };
851
+ templates?: {
852
+ totals: MigrationTotals;
853
+ items: MigrationTemplateItem[];
854
+ };
855
+ suppressions?: {
856
+ totals: MigrationTotals;
857
+ skipped_reasons: Record<string, number>;
858
+ estimated: boolean;
859
+ };
860
+ errors: Array<{
861
+ resource: MigrationResource;
862
+ code: string;
863
+ message: string;
864
+ }>;
865
+ notes: string[];
866
+ attention: string[];
867
+ template_map: Array<{
868
+ source_id: string;
869
+ alias: string;
870
+ }>;
871
+ code_changes: Array<{
872
+ stack: 'node' | 'python' | 'curl';
873
+ label: string;
874
+ diff: string;
875
+ }> | null;
876
+ agent_prompt: string | null;
877
+ };
878
+ type RunMigrationOptions = {
879
+ /** Called after each request with the report so far. */
880
+ onProgress?: (migration: Migration) => void;
881
+ /** Stop between requests; what was imported stays. */
882
+ signal?: AbortSignal;
883
+ /** Waits for `retry_after_seconds` (tests can pass a no-op). */
884
+ sleep?: (ms: number) => Promise<void>;
885
+ };
772
886
 
773
887
  declare class AutomationsResource {
774
888
  private readonly client;
@@ -863,6 +977,23 @@ declare class KeysResource {
863
977
  }>;
864
978
  }
865
979
 
980
+ /** Combine the reports of one import's requests: every item, the latest totals. */
981
+ declare function mergeMigrations(previous: Migration | null, next: Migration): Migration;
982
+ /**
983
+ * Import templates, suppressions, domains and webhooks from SendGrid, Postmark
984
+ * or Mailgun (Beta). The provider key is sent with each request and never stored.
985
+ */
986
+ declare class MigrationsResource {
987
+ private readonly client;
988
+ constructor(client: Groundmail);
989
+ /** One request (about 40 seconds of work). Continue with `cursor` while `has_more`. */
990
+ create(params: CreateMigrationParams): Promise<{
991
+ migration: Migration;
992
+ }>;
993
+ /** The whole import: follows `next_cursor` until done and returns the combined report. */
994
+ run(params: CreateMigrationParams, options?: RunMigrationOptions): Promise<Migration>;
995
+ }
996
+
866
997
  declare class SmtpCredentialsResource {
867
998
  private readonly client;
868
999
  constructor(client: Groundmail);
@@ -979,10 +1110,12 @@ declare class Groundmail {
979
1110
  readonly smtpCredentials: SmtpCredentialsResource;
980
1111
  readonly suppressions: SuppressionsResource;
981
1112
  readonly templates: TemplatesResource;
1113
+ /** Import from SendGrid, Postmark or Mailgun (Beta). */
1114
+ readonly migrations: MigrationsResource;
982
1115
  constructor(apiKey: string, options?: GroundmailOptions);
983
1116
  get baseUrl(): string;
984
1117
  get fetchImpl(): typeof fetch;
985
1118
  request<T>(path: string, init: RequestInit): Promise<T>;
986
1119
  }
987
1120
 
988
- export { type GroundmailOptions as $, type ApiErrorBody as A, type BatchSendEmailResult as B, type CategoryUnsubscribedErrorDetails as C, type DnsRecord as D, type CreateWebhookParams as E, DEFAULT_API_BASE_URL as F, Groundmail as G, type DeliverabilityBucket as H, type DeliverabilityDomainInsight as I, type DeliverabilityInsightsResult as J, type DeliverabilityMailServerRelay as K, type DeliverabilityWindow as L, type DnsProviderName as M, type Domain as N, type DomainBimiAnalysis as O, type DomainDetailResult as P, type DomainDmarcAnalysis as Q, type DomainDnsAnalysis as R, type SendEmailResult as S, type DomainStatus as T, type DomainTlsMode as U, type DomainTrackingDns as V, type DomainTrackingStatus as W, type EmailListItem as X, type EmailWebhookEventType as Y, type EnrollmentSkip as Z, type EventRecord as _, type ApiErrorCode as a, type ListApiKeysParams as a0, type ListApiKeysResult as a1, type ListAutomationRunsParams as a2, type ListAutomationRunsResult as a3, type ListAutomationsResult as a4, type ListDomainsParams as a5, type ListDomainsResult as a6, type ListEmailsParams as a7, type ListEmailsResult as a8, type ListReceivedEmailsParams as a9, type UpdateDomainParams as aA, type UpdateEmailParams as aB, type UpdateTemplateParams as aC, type UpdateWebhookParams as aD, type VerifyDomainResult as aE, type WebhookEndpoint as aF, type WebhookEndpointWithSecret as aG, type WebhookEventType as aH, type ListReceivedEmailsResult as aa, type ListSuppressionsParams as ab, type ListSuppressionsResult as ac, type ListTemplatesParams as ad, type ListTemplatesResult as ae, type MailServerSigningStatus as af, type ReceivedEmail as ag, type ReceivedEmailAttachment as ah, type ReceivedEmailAttachmentMeta as ai, type RemoteApplyDnsCredentials as aj, type SendEmailParams as ak, type SuppressedErrorDetails as al, type Suppression as am, type Template as an, type TemplateFormat as ao, type TemplateLintWarning as ap, type TemplateStarter as aq, type TemplateStatus as ar, type TemplateVersion as as, type TestEmailWebhookParams as at, type TestEmailWebhookResult as au, type TriggerEventParams as av, type TriggerEventResult as aw, type TwilioIntegrationResponse as ax, type TwilioIntegrationStatus as ay, type UpdateAutomationParams as az, type ApiKey as b, 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 ConnectTwilioParams as r, type ContactWebhookEventPayload as s, type CreateApiKeyParams as t, type CreateApiKeyResult as u, type CreateAutomationParams as v, type CreateDomainParams as w, type CreateDomainResult as x, type CreateSuppressionParams as y, type CreateTemplateParams as z };
1121
+ export { type EventRecord as $, type ApiErrorBody as A, type BatchSendEmailResult as B, type CategoryUnsubscribedErrorDetails as C, type DnsRecord as D, type CreateTemplateParams as E, type CreateWebhookParams as F, Groundmail as G, DEFAULT_API_BASE_URL as H, type DeliverabilityBucket as I, type DeliverabilityDomainInsight as J, type DeliverabilityInsightsResult as K, type DeliverabilityMailServerRelay as L, type DeliverabilityWindow as M, type DnsProviderName as N, type Domain as O, type DomainBimiAnalysis as P, type DomainDetailResult as Q, type DomainDmarcAnalysis as R, type SendEmailResult as S, type DomainDnsAnalysis as T, type DomainStatus as U, type DomainTlsMode as V, type DomainTrackingDns as W, type DomainTrackingStatus as X, type EmailListItem as Y, type EmailWebhookEventType as Z, type EnrollmentSkip as _, type ApiErrorCode as a, type GroundmailOptions as a0, type ListApiKeysParams as a1, type ListApiKeysResult as a2, type ListAutomationRunsParams as a3, type ListAutomationRunsResult as a4, type ListAutomationsResult as a5, type ListDomainsParams as a6, type ListDomainsResult as a7, type ListEmailsParams as a8, type ListEmailsResult as a9, type TemplateStarter as aA, type TemplateStatus as aB, type TemplateVersion as aC, type TestEmailWebhookParams as aD, type TestEmailWebhookResult as aE, type TriggerEventParams as aF, type TriggerEventResult as aG, type TwilioIntegrationResponse as aH, type TwilioIntegrationStatus as aI, type UpdateAutomationParams as aJ, type UpdateDomainParams as aK, type UpdateEmailParams as aL, type UpdateTemplateParams as aM, type UpdateWebhookParams as aN, type VerifyDomainResult as aO, type WebhookEndpoint as aP, type WebhookEndpointWithSecret as aQ, type WebhookEventType as aR, mergeMigrations as aS, 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 MailServerSigningStatus as ag, type Migration as ah, type MigrationDomainItem as ai, type MigrationItemStatus as aj, type MigrationProvider as ak, type MigrationResource as al, type MigrationTemplateItem as am, type MigrationTotals as an, type MigrationWebhookItem as ao, type ReceivedEmail as ap, type ReceivedEmailAttachment as aq, type ReceivedEmailAttachmentMeta as ar, type RemoteApplyDnsCredentials as as, type RunMigrationOptions as at, type SendEmailParams as au, type SuppressedErrorDetails as av, type Suppression as aw, type Template as ax, type TemplateFormat as ay, type TemplateLintWarning as az, type ApiKey as b, 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 ConnectTwilioParams as r, type ContactWebhookEventPayload as s, type CreateApiKeyParams as t, type CreateApiKeyResult as u, type CreateAutomationParams as v, type CreateDomainParams as w, type CreateDomainResult as x, type CreateMigrationParams as y, type CreateSuppressionParams as z };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as ApiErrorBody, D as DnsRecord } from './client-BysKOdUg.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, C as CategoryUnsubscribedErrorDetails, r as ConnectTwilioParams, s as ContactWebhookEventPayload, t as CreateApiKeyParams, u as CreateApiKeyResult, v as CreateAutomationParams, w as CreateDomainParams, x as CreateDomainResult, y as CreateSuppressionParams, z as CreateTemplateParams, E as CreateWebhookParams, F as DEFAULT_API_BASE_URL, H as DeliverabilityBucket, I as DeliverabilityDomainInsight, J as DeliverabilityInsightsResult, K as DeliverabilityMailServerRelay, L as DeliverabilityWindow, M as DnsProviderName, N as Domain, O as DomainBimiAnalysis, P as DomainDetailResult, Q as DomainDmarcAnalysis, R as DomainDnsAnalysis, T as DomainStatus, U as DomainTlsMode, V as DomainTrackingDns, W as DomainTrackingStatus, X as EmailListItem, Y as EmailWebhookEventType, Z as EnrollmentSkip, _ as EventRecord, G as Groundmail, $ as GroundmailOptions, a0 as ListApiKeysParams, a1 as ListApiKeysResult, a2 as ListAutomationRunsParams, a3 as ListAutomationRunsResult, a4 as ListAutomationsResult, a5 as ListDomainsParams, a6 as ListDomainsResult, a7 as ListEmailsParams, a8 as ListEmailsResult, a9 as ListReceivedEmailsParams, aa as ListReceivedEmailsResult, ab as ListSuppressionsParams, ac as ListSuppressionsResult, ad as ListTemplatesParams, ae as ListTemplatesResult, af as MailServerSigningStatus, ag as ReceivedEmail, ah as ReceivedEmailAttachment, ai as ReceivedEmailAttachmentMeta, aj as RemoteApplyDnsCredentials, ak as SendEmailParams, S as SendEmailResult, al as SuppressedErrorDetails, am as Suppression, an as Template, ao as TemplateFormat, ap as TemplateLintWarning, aq as TemplateStarter, ar as TemplateStatus, as as TemplateVersion, at as TestEmailWebhookParams, au as TestEmailWebhookResult, av as TriggerEventParams, aw as TriggerEventResult, ax as TwilioIntegrationResponse, ay as TwilioIntegrationStatus, az as UpdateAutomationParams, aA as UpdateDomainParams, aB as UpdateEmailParams, aC as UpdateTemplateParams, aD as UpdateWebhookParams, aE as VerifyDomainResult, aF as WebhookEndpoint, aG as WebhookEndpointWithSecret, aH as WebhookEventType } from './client-BysKOdUg.js';
1
+ import { A as ApiErrorBody, D as DnsRecord } from './client-B4Gk87z2.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, C as CategoryUnsubscribedErrorDetails, r as ConnectTwilioParams, s as ContactWebhookEventPayload, t as CreateApiKeyParams, u as CreateApiKeyResult, v as CreateAutomationParams, w as CreateDomainParams, x as CreateDomainResult, y as CreateMigrationParams, z as CreateSuppressionParams, E as CreateTemplateParams, F as CreateWebhookParams, H as DEFAULT_API_BASE_URL, I as DeliverabilityBucket, J as DeliverabilityDomainInsight, K as DeliverabilityInsightsResult, L as DeliverabilityMailServerRelay, M as DeliverabilityWindow, N as DnsProviderName, O as Domain, P as DomainBimiAnalysis, Q as DomainDetailResult, R as DomainDmarcAnalysis, T as DomainDnsAnalysis, U as DomainStatus, V as DomainTlsMode, W as DomainTrackingDns, X as DomainTrackingStatus, Y as EmailListItem, Z as EmailWebhookEventType, _ as EnrollmentSkip, $ as EventRecord, G as Groundmail, a0 as GroundmailOptions, a1 as ListApiKeysParams, a2 as ListApiKeysResult, a3 as ListAutomationRunsParams, a4 as ListAutomationRunsResult, a5 as ListAutomationsResult, a6 as ListDomainsParams, a7 as ListDomainsResult, a8 as ListEmailsParams, a9 as ListEmailsResult, aa as ListReceivedEmailsParams, ab as ListReceivedEmailsResult, ac as ListSuppressionsParams, ad as ListSuppressionsResult, ae as ListTemplatesParams, af as ListTemplatesResult, ag as MailServerSigningStatus, ah as Migration, ai as MigrationDomainItem, aj as MigrationItemStatus, ak as MigrationProvider, al as MigrationResource, am as MigrationTemplateItem, an as MigrationTotals, ao as MigrationWebhookItem, ap as ReceivedEmail, aq as ReceivedEmailAttachment, ar as ReceivedEmailAttachmentMeta, as as RemoteApplyDnsCredentials, at as RunMigrationOptions, au as SendEmailParams, S as SendEmailResult, av as SuppressedErrorDetails, aw as Suppression, ax as Template, ay as TemplateFormat, az as TemplateLintWarning, aA as TemplateStarter, aB as TemplateStatus, aC as TemplateVersion, aD as TestEmailWebhookParams, aE as TestEmailWebhookResult, aF as TriggerEventParams, aG as TriggerEventResult, aH as TwilioIntegrationResponse, aI as TwilioIntegrationStatus, aJ as UpdateAutomationParams, aK as UpdateDomainParams, aL as UpdateEmailParams, aM as UpdateTemplateParams, aN as UpdateWebhookParams, aO as VerifyDomainResult, aP as WebhookEndpoint, aQ as WebhookEndpointWithSecret, aR as WebhookEventType, aS as mergeMigrations } from './client-B4Gk87z2.js';
3
3
 
4
4
  type GroundmailErrorOptions = {
5
5
  code?: string;
package/dist/index.js CHANGED
@@ -4,16 +4,18 @@ import {
4
4
  GroundmailError,
5
5
  applyDnsRecords,
6
6
  buildSignatureHeader,
7
+ mergeMigrations,
7
8
  mergeSpfInclude,
8
9
  signWebhookPayload,
9
10
  verifyWebhookSignature
10
- } from "./chunk-2ZKYDDVV.js";
11
+ } from "./chunk-LKMNSXA3.js";
11
12
  export {
12
13
  DEFAULT_API_BASE_URL,
13
14
  Groundmail,
14
15
  GroundmailError,
15
16
  applyDnsRecords,
16
17
  buildSignatureHeader,
18
+ mergeMigrations,
17
19
  mergeSpfInclude,
18
20
  signWebhookPayload,
19
21
  verifyWebhookSignature
package/dist/payload.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { G as Groundmail } from './client-BysKOdUg.js';
1
+ import { G as Groundmail } from './client-B4Gk87z2.js';
2
2
 
3
3
  /**
4
4
  * Minimal Payload `SendEmailOptions` / address shapes used by this adapter.
package/dist/payload.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DEFAULT_API_BASE_URL,
3
3
  Groundmail
4
- } from "./chunk-2ZKYDDVV.js";
4
+ } from "./chunk-LKMNSXA3.js";
5
5
 
6
6
  // src/payload.ts
7
7
  function resolveApiKey(args) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groundmail",
3
- "version": "0.14.5",
3
+ "version": "0.14.7",
4
4
  "description": "Groundmail transactional email API client",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -89,7 +89,7 @@
89
89
  "prepublishOnly": "npm run build && npm run build:nodemailer-bridge"
90
90
  },
91
91
  "dependencies": {
92
- "groundmail-nodemailer": "0.14.5"
92
+ "groundmail-nodemailer": "0.14.7"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@types/nodemailer": "^8.0.1",