@serve.zone/dcrouter 16.4.1 → 16.5.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.
Files changed (59) hide show
  1. package/deno.json +1 -1
  2. package/dist_serve/bundle.js +852 -852
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.dcrouter.d.ts +2 -1
  5. package/dist_ts/classes.dcrouter.js +20 -4
  6. package/dist_ts/db/documents/classes.dns-record.doc.d.ts +4 -0
  7. package/dist_ts/db/documents/classes.dns-record.doc.js +33 -2
  8. package/dist_ts/db/documents/classes.email-domain.doc.d.ts +5 -1
  9. package/dist_ts/db/documents/classes.email-domain.doc.js +26 -2
  10. package/dist_ts/dns/manager.dns.d.ts +6 -0
  11. package/dist_ts/dns/manager.dns.js +81 -32
  12. package/dist_ts/dns/providers/cloudflare.provider.d.ts +2 -0
  13. package/dist_ts/dns/providers/cloudflare.provider.js +45 -28
  14. package/dist_ts/email/classes.email-domain.manager.d.ts +43 -38
  15. package/dist_ts/email/classes.email-domain.manager.js +391 -324
  16. package/dist_ts/email/classes.mail-dns-sync.d.ts +58 -17
  17. package/dist_ts/email/classes.mail-dns-sync.js +857 -141
  18. package/dist_ts/email/classes.mail-edge-eligibility.d.ts +55 -0
  19. package/dist_ts/email/classes.mail-edge-eligibility.js +168 -0
  20. package/dist_ts/email/classes.mail-egress-coordinator.d.ts +3 -1
  21. package/dist_ts/email/classes.mail-egress-coordinator.js +43 -22
  22. package/dist_ts/email/classes.workapp-mail-manager.d.ts +3 -0
  23. package/dist_ts/email/classes.workapp-mail-manager.js +58 -12
  24. package/dist_ts/email/index.d.ts +1 -0
  25. package/dist_ts/email/index.js +2 -1
  26. package/dist_ts/opsserver/handlers/email-domain.handler.d.ts +1 -0
  27. package/dist_ts/opsserver/handlers/email-domain.handler.js +138 -22
  28. package/dist_ts/remoteingress/classes.hub-lifecycle.js +2 -1
  29. package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +6 -0
  30. package/dist_ts/remoteingress/classes.tunnel-manager.js +40 -2
  31. package/dist_ts_interfaces/data/dns-record.d.ts +6 -0
  32. package/dist_ts_interfaces/data/email-domain.d.ts +81 -0
  33. package/dist_ts_interfaces/requests/email-domains.d.ts +25 -17
  34. package/dist_ts_migrations/index.js +152 -9
  35. package/dist_ts_web/00_commitinfo_data.js +1 -1
  36. package/dist_ts_web/appstate/email-domains.d.ts +16 -0
  37. package/dist_ts_web/appstate/email-domains.js +140 -19
  38. package/dist_ts_web/elements/email/ops-view-email-domains.d.ts +1 -0
  39. package/dist_ts_web/elements/email/ops-view-email-domains.js +36 -13
  40. package/package.json +3 -3
  41. package/readme.md +13 -1
  42. package/ts/00_commitinfo_data.ts +1 -1
  43. package/ts/classes.dcrouter.ts +22 -3
  44. package/ts/db/documents/classes.dns-record.doc.ts +20 -0
  45. package/ts/db/documents/classes.email-domain.doc.ts +14 -0
  46. package/ts/dns/manager.dns.ts +89 -29
  47. package/ts/dns/providers/cloudflare.provider.ts +46 -27
  48. package/ts/email/classes.email-domain.manager.ts +416 -368
  49. package/ts/email/classes.mail-dns-sync.ts +913 -146
  50. package/ts/email/classes.mail-edge-eligibility.ts +205 -0
  51. package/ts/email/classes.mail-egress-coordinator.ts +46 -23
  52. package/ts/email/classes.workapp-mail-manager.ts +69 -13
  53. package/ts/email/index.ts +1 -0
  54. package/ts/opsserver/handlers/email-domain.handler.ts +154 -21
  55. package/ts/remoteingress/classes.hub-lifecycle.ts +1 -0
  56. package/ts/remoteingress/classes.tunnel-manager.ts +53 -7
  57. package/ts_web/00_commitinfo_data.ts +1 -1
  58. package/ts_web/appstate/email-domains.ts +187 -18
  59. package/ts_web/elements/email/ops-view-email-domains.ts +44 -12
@@ -2,6 +2,77 @@
2
2
  * DNS record validation status for a single email-related record (MX, SPF, DKIM, DMARC).
3
3
  */
4
4
  export type TDnsRecordStatus = 'valid' | 'missing' | 'invalid' | 'unchecked';
5
+ /** Durable lifecycle of a managed sending domain. Inbound acceptance is independent of this state. */
6
+ export type TEmailDomainLifecycleStatus = 'pending' | 'active' | 'failed' | 'deleting';
7
+ export type TEmailDnsIntentStatus = 'pending' | 'satisfied' | 'valid' | 'conflict' | 'failed' | 'deleting';
8
+ export interface IEmailDomainOperationError {
9
+ code: string;
10
+ message: string;
11
+ recordKey?: string;
12
+ retryable?: boolean;
13
+ }
14
+ export interface IEmailDkimMaterial {
15
+ selector: string;
16
+ keySize: number;
17
+ publicKey: string;
18
+ createdAt: string;
19
+ validatedAt?: string;
20
+ promotedAt?: string;
21
+ retireAfter?: string;
22
+ }
23
+ export interface IEmailDnsRecordIntent {
24
+ key: string;
25
+ ownerType: 'domain' | 'topology';
26
+ ownerId: string;
27
+ domainId: string;
28
+ name: string;
29
+ type: 'MX' | 'TXT' | 'A' | 'AAAA';
30
+ value: string;
31
+ ttl: number;
32
+ status: TEmailDnsIntentStatus;
33
+ providerRecordId?: string;
34
+ lastAttemptAt?: string;
35
+ validatedAt?: string;
36
+ error?: IEmailDomainOperationError;
37
+ }
38
+ export interface IEmailDomainEdgeIdentity {
39
+ edgeId: string;
40
+ hostname: string;
41
+ ipv4?: string;
42
+ ipv6?: string;
43
+ observedAt: string;
44
+ hubReceivedAt: string;
45
+ }
46
+ export interface IEmailDomainMxSlot {
47
+ priority: 10 | 20;
48
+ edgeId: string;
49
+ hostname: string;
50
+ }
51
+ export interface IEmailDomainDnsRevision {
52
+ id: string;
53
+ createdAt: string;
54
+ activatedAt?: string;
55
+ selector: string;
56
+ edgeIdentities: IEmailDomainEdgeIdentity[];
57
+ mxSlots: IEmailDomainMxSlot[];
58
+ recordKeys: string[];
59
+ }
60
+ export interface IEmailDomainReconciliation {
61
+ lifecycleStatus: TEmailDomainLifecycleStatus;
62
+ desiredGeneration: number;
63
+ activeRevision?: IEmailDomainDnsRevision;
64
+ pendingRevision?: IEmailDomainDnsRevision;
65
+ intents: IEmailDnsRecordIntent[];
66
+ errors: IEmailDomainOperationError[];
67
+ capability?: {
68
+ egressIdentityProof: 'supported' | 'unsupported';
69
+ selectorCorrectSigning: 'supported' | 'unsupported';
70
+ };
71
+ lastAttemptAt?: string;
72
+ lastSuccessAt?: string;
73
+ retryAt?: string;
74
+ deletingAt?: string;
75
+ }
5
76
  /**
6
77
  * An email domain managed by dcrouter.
7
78
  *
@@ -25,6 +96,14 @@ export interface IEmailDomain {
25
96
  remoteIngress?: IEmailDomainRemoteIngress;
26
97
  /** DNS record validation status — populated by validateDns(). */
27
98
  dnsStatus: IEmailDomainDnsStatus;
99
+ /** Durable desired/active DNS state and reconciliation outcomes. */
100
+ reconciliation?: IEmailDomainReconciliation;
101
+ /** Active outbound DKIM material. Legacy documents may only have `dkim`. */
102
+ activeDkim?: IEmailDkimMaterial;
103
+ /** Staged DKIM material. Never used for signing before promotion. */
104
+ pendingDkim?: IEmailDkimMaterial;
105
+ /** Previously active keys retained for the configured overlap window. */
106
+ retiringDkim?: IEmailDkimMaterial[];
28
107
  createdAt: string;
29
108
  updatedAt: string;
30
109
  }
@@ -49,6 +128,8 @@ export interface IEmailDomainDkim {
49
128
  rotationIntervalDays: number;
50
129
  /** ISO date of last key rotation. */
51
130
  lastRotatedAt?: string;
131
+ /** Days an old selector remains published after promotion (default: 30). */
132
+ retirementOverlapDays?: number;
52
133
  }
53
134
  export interface IEmailDomainRateLimits {
54
135
  outbound?: {
@@ -1,6 +1,26 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import type * as authInterfaces from '../data/auth.js';
3
3
  import type { IEmailDomain, IEmailDnsRecord, IEmailDomainRemoteIngress } from '../data/email-domain.js';
4
+ export type TEmailDomainLifecycleStatus = 'active' | 'pending' | 'failed' | 'deleting';
5
+ export interface IEmailDomainActionError {
6
+ code: string;
7
+ message: string;
8
+ recordKey?: string;
9
+ retryable?: boolean;
10
+ }
11
+ /**
12
+ * Optional lifecycle metadata shared by email-domain mutations. The fields are
13
+ * additive so older clients can continue to rely on `success` and `message`.
14
+ */
15
+ export interface IEmailDomainActionResult {
16
+ success: boolean;
17
+ message?: string;
18
+ lifecycleStatus?: TEmailDomainLifecycleStatus;
19
+ code?: string;
20
+ errors?: IEmailDomainActionError[];
21
+ retryAt?: string;
22
+ capability?: 'supported' | 'unsupported';
23
+ }
4
24
  /**
5
25
  * List all email domains.
6
26
  */
@@ -52,10 +72,8 @@ export interface IReq_CreateEmailDomain extends plugins.typedrequestInterfaces.i
52
72
  /** Optional RemoteIngress edge pinning for this domain. */
53
73
  remoteIngress?: IEmailDomainRemoteIngress;
54
74
  };
55
- response: {
56
- success: boolean;
75
+ response: IEmailDomainActionResult & {
57
76
  domain?: IEmailDomain;
58
- message?: string;
59
77
  };
60
78
  }
61
79
  /**
@@ -73,10 +91,7 @@ export interface IReq_UpdateEmailDomain extends plugins.typedrequestInterfaces.i
73
91
  /** RemoteIngress edge pinning; null clears the pin. */
74
92
  remoteIngress?: IEmailDomainRemoteIngress | null;
75
93
  };
76
- response: {
77
- success: boolean;
78
- message?: string;
79
- };
94
+ response: IEmailDomainActionResult;
80
95
  }
81
96
  /**
82
97
  * Delete an email domain.
@@ -88,10 +103,7 @@ export interface IReq_DeleteEmailDomain extends plugins.typedrequestInterfaces.i
88
103
  apiToken?: string;
89
104
  id: string;
90
105
  };
91
- response: {
92
- success: boolean;
93
- message?: string;
94
- };
106
+ response: IEmailDomainActionResult;
95
107
  }
96
108
  /**
97
109
  * Trigger DNS validation for an email domain.
@@ -104,11 +116,9 @@ export interface IReq_ValidateEmailDomain extends plugins.typedrequestInterfaces
104
116
  apiToken?: string;
105
117
  id: string;
106
118
  };
107
- response: {
108
- success: boolean;
119
+ response: IEmailDomainActionResult & {
109
120
  domain?: IEmailDomain;
110
121
  records?: IEmailDnsRecord[];
111
- message?: string;
112
122
  };
113
123
  }
114
124
  /**
@@ -137,10 +147,8 @@ export interface IReq_ProvisionEmailDomainDns extends plugins.typedrequestInterf
137
147
  apiToken?: string;
138
148
  id: string;
139
149
  };
140
- response: {
141
- success: boolean;
150
+ response: IEmailDomainActionResult & {
142
151
  /** Number of records created. */
143
152
  provisioned?: number;
144
- message?: string;
145
153
  };
146
154
  }
@@ -756,14 +756,37 @@ export async function createMigrationRunner(db, targetVersion, options = {}) {
756
756
  ctx.log.log('info', 'index-cached-email-status: ensured CachedEmail.status index');
757
757
  });
758
758
  if (compareSemver(targetVersion, cachedEmailStatusIndexMigrationVersion) > 0) {
759
- migration
760
- .step('backfill-remote-ingress-hub-settings-after-cached-email-status-index')
761
- .from(cachedEmailStatusIndexMigrationVersion).to(targetVersion)
762
- .description('Backfill DB-backed singleton runtime settings from legacy bootstrap config')
763
- .up(async (ctx) => {
764
- await backfillRemoteIngressHubSettings(ctx, options);
765
- await backfillEmailServerSettings(ctx, options);
766
- });
759
+ if (compareSemver(targetVersion, emailDnsLifecycleMigrationVersion) >= 0) {
760
+ migration
761
+ .step('email-dns-lifecycle')
762
+ .from(cachedEmailStatusIndexMigrationVersion).to(emailDnsLifecycleMigrationVersion)
763
+ .description('Add durable email DNS lifecycle state, unique domains, and explicit managed record ownership')
764
+ .up(async (ctx) => {
765
+ await migrateEmailDnsLifecycle(ctx);
766
+ await backfillRemoteIngressHubSettings(ctx, options);
767
+ await backfillEmailServerSettings(ctx, options);
768
+ });
769
+ if (compareSemver(targetVersion, emailDnsLifecycleMigrationVersion) > 0) {
770
+ migration
771
+ .step('backfill-remote-ingress-hub-settings-after-email-dns-lifecycle')
772
+ .from(emailDnsLifecycleMigrationVersion).to(targetVersion)
773
+ .description('Backfill DB-backed singleton runtime settings from legacy bootstrap config')
774
+ .up(async (ctx) => {
775
+ await backfillRemoteIngressHubSettings(ctx, options);
776
+ await backfillEmailServerSettings(ctx, options);
777
+ });
778
+ }
779
+ }
780
+ else {
781
+ migration
782
+ .step('backfill-remote-ingress-hub-settings-after-cached-email-status-index')
783
+ .from(cachedEmailStatusIndexMigrationVersion).to(targetVersion)
784
+ .description('Backfill DB-backed singleton runtime settings from legacy bootstrap config')
785
+ .up(async (ctx) => {
786
+ await backfillRemoteIngressHubSettings(ctx, options);
787
+ await backfillEmailServerSettings(ctx, options);
788
+ });
789
+ }
767
790
  }
768
791
  }
769
792
  else {
@@ -844,6 +867,126 @@ const emailOutboundEgressSettingsMigrationVersion = '15.6.2';
844
867
  const mailOverEdgesMigrationVersion = '16.0.0';
845
868
  const cachedEmailStatusIndexPreviousVersion = '16.4.0';
846
869
  const cachedEmailStatusIndexMigrationVersion = '16.4.1';
870
+ const emailDnsLifecycleMigrationVersion = '16.5.0';
871
+ async function migrateEmailDnsLifecycle(ctx) {
872
+ const emailCollection = ctx.mongo.collection('EmailDomainDoc');
873
+ const dnsCollection = ctx.mongo.collection('DnsRecordDoc');
874
+ const emailDocs = await emailCollection.find({}).toArray();
875
+ const byDomain = new Map();
876
+ for (const doc of emailDocs) {
877
+ const normalizedDomain = String(doc.domain || '').trim().toLowerCase();
878
+ if (!normalizedDomain)
879
+ continue;
880
+ if (doc.domain !== normalizedDomain) {
881
+ await emailCollection.updateOne({ _id: doc._id }, { $set: { domain: normalizedDomain } });
882
+ doc.domain = normalizedDomain;
883
+ }
884
+ const group = byDomain.get(normalizedDomain) || [];
885
+ group.push(doc);
886
+ byDomain.set(normalizedDomain, group);
887
+ }
888
+ let duplicateDomainsRemoved = 0;
889
+ for (const [domain, docs] of byDomain) {
890
+ docs.sort((a, b) => String(a.createdAt || '').localeCompare(String(b.createdAt || '')));
891
+ const survivor = docs[0];
892
+ for (const duplicate of docs.slice(1)) {
893
+ const patch = {};
894
+ for (const field of ['rateLimits', 'remoteIngress']) {
895
+ if (survivor[field] === undefined && duplicate[field] !== undefined) {
896
+ patch[field] = duplicate[field];
897
+ survivor[field] = duplicate[field];
898
+ }
899
+ }
900
+ if (Object.keys(patch).length > 0) {
901
+ await emailCollection.updateOne({ _id: survivor._id }, { $set: patch });
902
+ }
903
+ await emailCollection.deleteOne({ _id: duplicate._id });
904
+ duplicateDomainsRemoved++;
905
+ }
906
+ const dkim = survivor.dkim || {};
907
+ const publicKey = typeof dkim.publicKey === 'string' ? dkim.publicKey.trim() : '';
908
+ const now = new Date().toISOString();
909
+ const setPatch = {};
910
+ if (!Number.isInteger(dkim.retirementOverlapDays)) {
911
+ setPatch['dkim.retirementOverlapDays'] = 30;
912
+ }
913
+ if (!survivor.reconciliation) {
914
+ setPatch.reconciliation = {
915
+ lifecycleStatus: 'pending',
916
+ desiredGeneration: 1,
917
+ intents: [],
918
+ errors: [{
919
+ code: 'EGRESS_IDENTITY_PROOF_UNAVAILABLE',
920
+ message: 'RemoteIngress egress identity proof is unavailable until the capability release is consumed',
921
+ retryable: true,
922
+ }],
923
+ capability: {
924
+ egressIdentityProof: 'unsupported',
925
+ selectorCorrectSigning: dkim.selector === 'default' ? 'supported' : 'unsupported',
926
+ },
927
+ retryAt: new Date(Date.now() + 300_000).toISOString(),
928
+ };
929
+ }
930
+ if (publicKey && !survivor.activeDkim) {
931
+ setPatch.activeDkim = {
932
+ selector: String(dkim.selector || 'default'),
933
+ keySize: Number(dkim.keySize) || 2048,
934
+ publicKey,
935
+ createdAt: String(survivor.createdAt || now),
936
+ };
937
+ }
938
+ if (Object.keys(setPatch).length > 0) {
939
+ await emailCollection.updateOne({ _id: survivor._id }, { $set: setPatch });
940
+ }
941
+ byDomain.set(domain, [survivor]);
942
+ }
943
+ await emailCollection.createIndex({ domain: 1 }, { name: 'email_domain_unique', unique: true });
944
+ const survivingEmails = (await emailCollection.find({}).toArray());
945
+ const claimedKeys = new Set();
946
+ let adoptedRecords = 0;
947
+ for await (const record of dnsCollection.find({
948
+ managedRecordKey: { $exists: false },
949
+ createdBy: { $in: ['mail-edge-sync', 'email-domain-manager'] },
950
+ })) {
951
+ const type = String(record.type || '');
952
+ const name = String(record.name || '').toLowerCase();
953
+ const value = String(record.value || '').trim();
954
+ let managedOwnerId = '';
955
+ let managedRecordKey = '';
956
+ if (record.createdBy === 'mail-edge-sync' && ['A', 'AAAA'].includes(type)) {
957
+ managedOwnerId = `topology:legacy:${name}:${value}`;
958
+ managedRecordKey = `mail-topology:legacy:${type}:${name}:${value}`;
959
+ }
960
+ else if (record.createdBy === 'email-domain-manager') {
961
+ const candidates = survivingEmails.filter((email) => {
962
+ if (String(email.linkedDomainId) !== String(record.domainId))
963
+ return false;
964
+ const domain = String(email.domain || '').toLowerCase();
965
+ const selector = String(email.dkim?.selector || 'default').toLowerCase();
966
+ return name === domain
967
+ || name === `_dmarc.${domain}`
968
+ || name === `${selector}._domainkey.${domain}`
969
+ || name === `mx.${domain}`;
970
+ });
971
+ if (candidates.length === 1) {
972
+ managedOwnerId = `domain:${candidates[0].id}`;
973
+ managedRecordKey = `mail-domain:${candidates[0].id}:${type}:${name}:${value}`;
974
+ }
975
+ }
976
+ if (!managedRecordKey || claimedKeys.has(managedRecordKey)) {
977
+ continue;
978
+ }
979
+ claimedKeys.add(managedRecordKey);
980
+ await dnsCollection.updateOne({ _id: record._id }, { $set: { managedBy: 'mail-dns-reconciler', managedOwnerId, managedRecordKey } });
981
+ adoptedRecords++;
982
+ }
983
+ await dnsCollection.createIndex({ managedRecordKey: 1 }, {
984
+ name: 'managed_record_key_unique',
985
+ unique: true,
986
+ partialFilterExpression: { managedRecordKey: { $type: 'string' } },
987
+ });
988
+ ctx.log.log('info', `email-dns-lifecycle: removed ${duplicateDomainsRemoved} duplicate domain(s), adopted ${adoptedRecords} unambiguous legacy record(s)`);
989
+ }
847
990
  async function dedupeDomainDocsByName(ctx) {
848
991
  const collection = ctx.mongo.collection('DomainDoc');
849
992
  const docs = await collection.find({}).toArray();
@@ -864,4 +1007,4 @@ async function dedupeDomainDocsByName(ctx) {
864
1007
  }
865
1008
  ctx.log.log('info', `dedupe-domain-docs-by-name: removed ${removed} duplicate domain doc(s)`);
866
1009
  }
867
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19taWdyYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWdDSCxNQUFNLHVCQUF1QixHQUl4QjtJQUNIO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixXQUFXLEVBQUUsNEZBQTRGO1FBQ3pHLFFBQVEsRUFBRTtZQUNSLFdBQVcsRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUNsRixjQUFjLEVBQUUsSUFBSTtTQUNyQjtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixXQUFXLEVBQUUsNkVBQTZFO1FBQzFGLFFBQVEsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxJQUFJO2dCQUNiLFdBQVcsRUFBRSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2dCQUNWLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSw2REFBNkQ7UUFDMUUsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsSUFBSTtnQkFDYixXQUFXLEVBQUUsR0FBRztnQkFDaEIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSw0Q0FBNEMsR0FBRyxTQUFTLENBQUM7QUFFL0QsU0FBUyxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDekMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0s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
1010
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90c19taWdyYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWdDSCxNQUFNLHVCQUF1QixHQUl4QjtJQUNIO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixXQUFXLEVBQUUsNEZBQTRGO1FBQ3pHLFFBQVEsRUFBRTtZQUNSLFdBQVcsRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUNsRixjQUFjLEVBQUUsSUFBSTtTQUNyQjtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixXQUFXLEVBQUUsNkVBQTZFO1FBQzFGLFFBQVEsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxJQUFJO2dCQUNiLFdBQVcsRUFBRSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2dCQUNWLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSw2REFBNkQ7UUFDMUUsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsSUFBSTtnQkFDYixXQUFXLEVBQUUsR0FBRztnQkFDaEIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSw0Q0FBNEMsR0FBRyxTQUFTLENBQUM7QUFFL0QsU0FBUyxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDekMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0s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
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '16.4.1',
6
+ version: '16.5.0',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
@@ -1,12 +1,20 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import * as interfaces from '../../dist_ts_interfaces/index.js';
3
+ export type TEmailDomainOperationName = 'create' | 'update' | 'delete' | 'validate' | 'provision' | 'reconcile' | 'rotate';
4
+ export interface IEmailDomainOperationState extends interfaces.requests.IEmailDomainActionResult {
5
+ operation: TEmailDomainOperationName;
6
+ completedAt: number;
7
+ }
3
8
  export interface IEmailDomainsState {
4
9
  domains: interfaces.data.IEmailDomain[];
5
10
  settings: interfaces.data.IEmailServerSettings | null;
6
11
  isLoading: boolean;
12
+ error: string | null;
13
+ lastOperation: IEmailDomainOperationState | null;
7
14
  lastUpdated: number;
8
15
  }
9
16
  export declare const emailDomainsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IEmailDomainsState>;
17
+ export declare const formatEmailDomainOperationMessage: (operationArg: IEmailDomainOperationState, fallbackMessageArg: string) => string;
10
18
  export declare const fetchEmailDomainsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, unknown>;
11
19
  export declare const createEmailDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, {
12
20
  linkedDomainId: string;
@@ -15,6 +23,14 @@ export declare const createEmailDomainAction: plugins.deesElement.domtools.plugi
15
23
  dkimKeySize?: number;
16
24
  rotateKeys?: boolean;
17
25
  rotationIntervalDays?: number;
26
+ remoteIngress?: interfaces.data.IEmailDomainRemoteIngress;
27
+ }>;
28
+ export declare const updateEmailDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, {
29
+ id: string;
30
+ rotateKeys?: boolean;
31
+ rotationIntervalDays?: number;
32
+ rateLimits?: interfaces.data.IEmailDomain["rateLimits"];
33
+ remoteIngress?: interfaces.data.IEmailDomainRemoteIngress | null;
18
34
  }>;
19
35
  export declare const updateEmailServerSettingsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, interfaces.data.TEmailServerSettingsUpdate>;
20
36
  export declare const deleteEmailDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, string>;