@serve.zone/dcrouter 17.7.1 → 17.9.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 (94) hide show
  1. package/deno.json +1 -1
  2. package/dist_serve/bundle.js +712 -709
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.dcrouter.d.ts +2 -0
  5. package/dist_ts/classes.dcrouter.js +23 -1
  6. package/dist_ts/config/classes.db-seeder.js +9 -1
  7. package/dist_ts/config/classes.gateway-client-manager.js +3 -1
  8. package/dist_ts/config/helpers.http-redirects.js +28 -1
  9. package/dist_ts/config/helpers.special-forwards.js +12 -9
  10. package/dist_ts/db/documents/classes.cached.email.d.ts +7 -0
  11. package/dist_ts/db/documents/classes.cached.email.js +52 -2
  12. package/dist_ts/db/documents/classes.webpush-admission.doc.d.ts +19 -0
  13. package/dist_ts/db/documents/classes.webpush-admission.doc.js +124 -0
  14. package/dist_ts/db/documents/classes.webpush-binding.doc.d.ts +65 -0
  15. package/dist_ts/db/documents/classes.webpush-binding.doc.js +205 -0
  16. package/dist_ts/db/documents/classes.webpush-spool.doc.d.ts +44 -0
  17. package/dist_ts/db/documents/classes.webpush-spool.doc.js +277 -0
  18. package/dist_ts/db/documents/index.d.ts +3 -0
  19. package/dist_ts/db/documents/index.js +5 -1
  20. package/dist_ts/email/classes.accepted-email-spool.d.ts +5 -0
  21. package/dist_ts/email/classes.accepted-email-spool.js +28 -3
  22. package/dist_ts/email/classes.email-route-builder.js +5 -1
  23. package/dist_ts/email/classes.workapp-mail-manager.d.ts +5 -1
  24. package/dist_ts/email/classes.workapp-mail-manager.js +87 -12
  25. package/dist_ts/index.d.ts +1 -0
  26. package/dist_ts/index.js +3 -1
  27. package/dist_ts/opsserver/classes.opsserver.d.ts +2 -0
  28. package/dist_ts/opsserver/classes.opsserver.js +5 -1
  29. package/dist_ts/opsserver/handlers/gatewayclient.handler.js +33 -6
  30. package/dist_ts/opsserver/handlers/index.d.ts +2 -0
  31. package/dist_ts/opsserver/handlers/index.js +3 -1
  32. package/dist_ts/opsserver/handlers/webpush-app.handler.d.ts +9 -0
  33. package/dist_ts/opsserver/handlers/webpush-app.handler.js +66 -0
  34. package/dist_ts/opsserver/handlers/webpush-control.handler.d.ts +14 -0
  35. package/dist_ts/opsserver/handlers/webpush-control.handler.js +163 -0
  36. package/dist_ts/plugins.d.ts +5 -2
  37. package/dist_ts/plugins.js +6 -3
  38. package/dist_ts/remoteingress/edge-derivation-routes.js +5 -1
  39. package/dist_ts/security/classes.route-policy-augmenter.d.ts +10 -6
  40. package/dist_ts/security/classes.route-policy-augmenter.js +65 -51
  41. package/dist_ts/webpush/classes.webpush-crypto.d.ts +38 -0
  42. package/dist_ts/webpush/classes.webpush-crypto.js +231 -0
  43. package/dist_ts/webpush/classes.webpush-manager.d.ts +153 -0
  44. package/dist_ts/webpush/classes.webpush-manager.js +2374 -0
  45. package/dist_ts/webpush/classes.webpush-transport.d.ts +45 -0
  46. package/dist_ts/webpush/classes.webpush-transport.js +161 -0
  47. package/dist_ts/webpush/helpers.webpush-endpoint.d.ts +21 -0
  48. package/dist_ts/webpush/helpers.webpush-endpoint.js +111 -0
  49. package/dist_ts/webpush/index.d.ts +4 -0
  50. package/dist_ts/webpush/index.js +5 -0
  51. package/dist_ts/webpush/webpush-indexes.d.ts +11 -0
  52. package/dist_ts/webpush/webpush-indexes.js +123 -0
  53. package/dist_ts_interfaces/data/remoteingress.d.ts +14 -2
  54. package/dist_ts_interfaces/data/route-management.d.ts +2 -0
  55. package/dist_ts_interfaces/data/route-management.js +1 -1
  56. package/dist_ts_migrations/index.js +285 -11
  57. package/dist_ts_web/00_commitinfo_data.js +1 -1
  58. package/dist_ts_web/elements/network/ops-view-routes.js +41 -1
  59. package/dist_ts_web/elements/network/special-forward-dialog.js +2 -2
  60. package/package.json +14 -10
  61. package/readme.md +27 -0
  62. package/third-party-notices.md +37 -0
  63. package/ts/00_commitinfo_data.ts +1 -1
  64. package/ts/classes.dcrouter.ts +29 -0
  65. package/ts/config/classes.db-seeder.ts +8 -0
  66. package/ts/config/classes.gateway-client-manager.ts +2 -0
  67. package/ts/config/helpers.http-redirects.ts +31 -1
  68. package/ts/config/helpers.special-forwards.ts +11 -8
  69. package/ts/db/documents/classes.cached.email.ts +47 -0
  70. package/ts/db/documents/classes.webpush-admission.doc.ts +48 -0
  71. package/ts/db/documents/classes.webpush-binding.doc.ts +147 -0
  72. package/ts/db/documents/classes.webpush-spool.doc.ts +136 -0
  73. package/ts/db/documents/index.ts +5 -0
  74. package/ts/email/classes.accepted-email-spool.ts +41 -2
  75. package/ts/email/classes.email-route-builder.ts +4 -0
  76. package/ts/email/classes.workapp-mail-manager.ts +97 -10
  77. package/ts/index.ts +3 -0
  78. package/ts/opsserver/classes.opsserver.ts +4 -0
  79. package/ts/opsserver/handlers/gatewayclient.handler.ts +34 -4
  80. package/ts/opsserver/handlers/index.ts +2 -0
  81. package/ts/opsserver/handlers/webpush-app.handler.ts +105 -0
  82. package/ts/opsserver/handlers/webpush-control.handler.ts +257 -0
  83. package/ts/plugins.ts +6 -0
  84. package/ts/remoteingress/edge-derivation-routes.ts +4 -0
  85. package/ts/security/classes.route-policy-augmenter.ts +70 -57
  86. package/ts/webpush/classes.webpush-crypto.ts +306 -0
  87. package/ts/webpush/classes.webpush-manager.ts +3173 -0
  88. package/ts/webpush/classes.webpush-transport.ts +241 -0
  89. package/ts/webpush/helpers.webpush-endpoint.ts +150 -0
  90. package/ts/webpush/index.ts +4 -0
  91. package/ts/webpush/webpush-indexes.ts +141 -0
  92. package/ts_web/00_commitinfo_data.ts +1 -1
  93. package/ts_web/elements/network/ops-view-routes.ts +38 -0
  94. package/ts_web/elements/network/special-forward-dialog.ts +1 -1
@@ -0,0 +1,277 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import * as plugins from '../../plugins.js';
36
+ import { DcRouterDb } from '../classes.dcrouter-db.js';
37
+ const getDb = () => DcRouterDb.getInstance().getDb();
38
+ let WebPushSpoolDoc = (() => {
39
+ let _classDecorators = [plugins.smartdata.Collection(() => getDb())];
40
+ let _classDescriptor;
41
+ let _classExtraInitializers = [];
42
+ let _classThis;
43
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
44
+ let _id_decorators;
45
+ let _id_initializers = [];
46
+ let _id_extraInitializers = [];
47
+ let _schemaVersion_decorators;
48
+ let _schemaVersion_initializers = [];
49
+ let _schemaVersion_extraInitializers = [];
50
+ let _bindingId_decorators;
51
+ let _bindingId_initializers = [];
52
+ let _bindingId_extraInitializers = [];
53
+ let _lifecycleGeneration_decorators;
54
+ let _lifecycleGeneration_initializers = [];
55
+ let _lifecycleGeneration_extraInitializers = [];
56
+ let _credentialId_decorators;
57
+ let _credentialId_initializers = [];
58
+ let _credentialId_extraInitializers = [];
59
+ let _hmacKeyId_decorators;
60
+ let _hmacKeyId_initializers = [];
61
+ let _hmacKeyId_extraInitializers = [];
62
+ let _idempotencyKeyDigest_decorators;
63
+ let _idempotencyKeyDigest_initializers = [];
64
+ let _idempotencyKeyDigest_extraInitializers = [];
65
+ let _requestDigest_decorators;
66
+ let _requestDigest_initializers = [];
67
+ let _requestDigest_extraInitializers = [];
68
+ let _subscriptionId_decorators;
69
+ let _subscriptionId_initializers = [];
70
+ let _subscriptionId_extraInitializers = [];
71
+ let _endpointDigest_decorators;
72
+ let _endpointDigest_initializers = [];
73
+ let _endpointDigest_extraInitializers = [];
74
+ let _vapidKeyId_decorators;
75
+ let _vapidKeyId_initializers = [];
76
+ let _vapidKeyId_extraInitializers = [];
77
+ let _subscriptionEnvelope_decorators;
78
+ let _subscriptionEnvelope_initializers = [];
79
+ let _subscriptionEnvelope_extraInitializers = [];
80
+ let _payloadEnvelope_decorators;
81
+ let _payloadEnvelope_initializers = [];
82
+ let _payloadEnvelope_extraInitializers = [];
83
+ let _payloadBytes_decorators;
84
+ let _payloadBytes_initializers = [];
85
+ let _payloadBytes_extraInitializers = [];
86
+ let _ttlSeconds_decorators;
87
+ let _ttlSeconds_initializers = [];
88
+ let _ttlSeconds_extraInitializers = [];
89
+ let _urgency_decorators;
90
+ let _urgency_initializers = [];
91
+ let _urgency_extraInitializers = [];
92
+ let _topic_decorators;
93
+ let _topic_initializers = [];
94
+ let _topic_extraInitializers = [];
95
+ let _state_decorators;
96
+ let _state_initializers = [];
97
+ let _state_extraInitializers = [];
98
+ let _attempts_decorators;
99
+ let _attempts_initializers = [];
100
+ let _attempts_extraInitializers = [];
101
+ let _acceptedAt_decorators;
102
+ let _acceptedAt_initializers = [];
103
+ let _acceptedAt_extraInitializers = [];
104
+ let _updatedAt_decorators;
105
+ let _updatedAt_initializers = [];
106
+ let _updatedAt_extraInitializers = [];
107
+ let _nextAttemptAt_decorators;
108
+ let _nextAttemptAt_initializers = [];
109
+ let _nextAttemptAt_extraInitializers = [];
110
+ let _expiresAt_decorators;
111
+ let _expiresAt_initializers = [];
112
+ let _expiresAt_extraInitializers = [];
113
+ let _leaseToken_decorators;
114
+ let _leaseToken_initializers = [];
115
+ let _leaseToken_extraInitializers = [];
116
+ let _leaseExpiresAt_decorators;
117
+ let _leaseExpiresAt_initializers = [];
118
+ let _leaseExpiresAt_extraInitializers = [];
119
+ let _cancelRequestedAt_decorators;
120
+ let _cancelRequestedAt_initializers = [];
121
+ let _cancelRequestedAt_extraInitializers = [];
122
+ let _cancelErrorCode_decorators;
123
+ let _cancelErrorCode_initializers = [];
124
+ let _cancelErrorCode_extraInitializers = [];
125
+ let _terminalAt_decorators;
126
+ let _terminalAt_initializers = [];
127
+ let _terminalAt_extraInitializers = [];
128
+ let _pushServiceStatusCode_decorators;
129
+ let _pushServiceStatusCode_initializers = [];
130
+ let _pushServiceStatusCode_extraInitializers = [];
131
+ let _errorCode_decorators;
132
+ let _errorCode_initializers = [];
133
+ let _errorCode_extraInitializers = [];
134
+ let _purgeAt_decorators;
135
+ let _purgeAt_initializers = [];
136
+ let _purgeAt_extraInitializers = [];
137
+ var WebPushSpoolDoc = class extends _classSuper {
138
+ static { _classThis = this; }
139
+ static {
140
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
141
+ _id_decorators = [plugins.smartdata.svDb()];
142
+ _schemaVersion_decorators = [plugins.smartdata.svDb()];
143
+ _bindingId_decorators = [plugins.smartdata.svDb()];
144
+ _lifecycleGeneration_decorators = [plugins.smartdata.svDb()];
145
+ _credentialId_decorators = [plugins.smartdata.svDb()];
146
+ _hmacKeyId_decorators = [plugins.smartdata.svDb()];
147
+ _idempotencyKeyDigest_decorators = [plugins.smartdata.svDb()];
148
+ _requestDigest_decorators = [plugins.smartdata.svDb()];
149
+ _subscriptionId_decorators = [plugins.smartdata.svDb()];
150
+ _endpointDigest_decorators = [plugins.smartdata.svDb()];
151
+ _vapidKeyId_decorators = [plugins.smartdata.svDb()];
152
+ _subscriptionEnvelope_decorators = [plugins.smartdata.svDb()];
153
+ _payloadEnvelope_decorators = [plugins.smartdata.svDb()];
154
+ _payloadBytes_decorators = [plugins.smartdata.svDb()];
155
+ _ttlSeconds_decorators = [plugins.smartdata.svDb()];
156
+ _urgency_decorators = [plugins.smartdata.svDb()];
157
+ _topic_decorators = [plugins.smartdata.svDb()];
158
+ _state_decorators = [plugins.smartdata.svDb()];
159
+ _attempts_decorators = [plugins.smartdata.svDb()];
160
+ _acceptedAt_decorators = [plugins.smartdata.svDb()];
161
+ _updatedAt_decorators = [plugins.smartdata.svDb()];
162
+ _nextAttemptAt_decorators = [plugins.smartdata.svDb()];
163
+ _expiresAt_decorators = [plugins.smartdata.svDb()];
164
+ _leaseToken_decorators = [plugins.smartdata.svDb()];
165
+ _leaseExpiresAt_decorators = [plugins.smartdata.svDb()];
166
+ _cancelRequestedAt_decorators = [plugins.smartdata.svDb()];
167
+ _cancelErrorCode_decorators = [plugins.smartdata.svDb()];
168
+ _terminalAt_decorators = [plugins.smartdata.svDb()];
169
+ _pushServiceStatusCode_decorators = [plugins.smartdata.svDb()];
170
+ _errorCode_decorators = [plugins.smartdata.svDb()];
171
+ _purgeAt_decorators = [plugins.smartdata.svDb()];
172
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
173
+ __esDecorate(null, null, _schemaVersion_decorators, { kind: "field", name: "schemaVersion", static: false, private: false, access: { has: obj => "schemaVersion" in obj, get: obj => obj.schemaVersion, set: (obj, value) => { obj.schemaVersion = value; } }, metadata: _metadata }, _schemaVersion_initializers, _schemaVersion_extraInitializers);
174
+ __esDecorate(null, null, _bindingId_decorators, { kind: "field", name: "bindingId", static: false, private: false, access: { has: obj => "bindingId" in obj, get: obj => obj.bindingId, set: (obj, value) => { obj.bindingId = value; } }, metadata: _metadata }, _bindingId_initializers, _bindingId_extraInitializers);
175
+ __esDecorate(null, null, _lifecycleGeneration_decorators, { kind: "field", name: "lifecycleGeneration", static: false, private: false, access: { has: obj => "lifecycleGeneration" in obj, get: obj => obj.lifecycleGeneration, set: (obj, value) => { obj.lifecycleGeneration = value; } }, metadata: _metadata }, _lifecycleGeneration_initializers, _lifecycleGeneration_extraInitializers);
176
+ __esDecorate(null, null, _credentialId_decorators, { kind: "field", name: "credentialId", static: false, private: false, access: { has: obj => "credentialId" in obj, get: obj => obj.credentialId, set: (obj, value) => { obj.credentialId = value; } }, metadata: _metadata }, _credentialId_initializers, _credentialId_extraInitializers);
177
+ __esDecorate(null, null, _hmacKeyId_decorators, { kind: "field", name: "hmacKeyId", static: false, private: false, access: { has: obj => "hmacKeyId" in obj, get: obj => obj.hmacKeyId, set: (obj, value) => { obj.hmacKeyId = value; } }, metadata: _metadata }, _hmacKeyId_initializers, _hmacKeyId_extraInitializers);
178
+ __esDecorate(null, null, _idempotencyKeyDigest_decorators, { kind: "field", name: "idempotencyKeyDigest", static: false, private: false, access: { has: obj => "idempotencyKeyDigest" in obj, get: obj => obj.idempotencyKeyDigest, set: (obj, value) => { obj.idempotencyKeyDigest = value; } }, metadata: _metadata }, _idempotencyKeyDigest_initializers, _idempotencyKeyDigest_extraInitializers);
179
+ __esDecorate(null, null, _requestDigest_decorators, { kind: "field", name: "requestDigest", static: false, private: false, access: { has: obj => "requestDigest" in obj, get: obj => obj.requestDigest, set: (obj, value) => { obj.requestDigest = value; } }, metadata: _metadata }, _requestDigest_initializers, _requestDigest_extraInitializers);
180
+ __esDecorate(null, null, _subscriptionId_decorators, { kind: "field", name: "subscriptionId", static: false, private: false, access: { has: obj => "subscriptionId" in obj, get: obj => obj.subscriptionId, set: (obj, value) => { obj.subscriptionId = value; } }, metadata: _metadata }, _subscriptionId_initializers, _subscriptionId_extraInitializers);
181
+ __esDecorate(null, null, _endpointDigest_decorators, { kind: "field", name: "endpointDigest", static: false, private: false, access: { has: obj => "endpointDigest" in obj, get: obj => obj.endpointDigest, set: (obj, value) => { obj.endpointDigest = value; } }, metadata: _metadata }, _endpointDigest_initializers, _endpointDigest_extraInitializers);
182
+ __esDecorate(null, null, _vapidKeyId_decorators, { kind: "field", name: "vapidKeyId", static: false, private: false, access: { has: obj => "vapidKeyId" in obj, get: obj => obj.vapidKeyId, set: (obj, value) => { obj.vapidKeyId = value; } }, metadata: _metadata }, _vapidKeyId_initializers, _vapidKeyId_extraInitializers);
183
+ __esDecorate(null, null, _subscriptionEnvelope_decorators, { kind: "field", name: "subscriptionEnvelope", static: false, private: false, access: { has: obj => "subscriptionEnvelope" in obj, get: obj => obj.subscriptionEnvelope, set: (obj, value) => { obj.subscriptionEnvelope = value; } }, metadata: _metadata }, _subscriptionEnvelope_initializers, _subscriptionEnvelope_extraInitializers);
184
+ __esDecorate(null, null, _payloadEnvelope_decorators, { kind: "field", name: "payloadEnvelope", static: false, private: false, access: { has: obj => "payloadEnvelope" in obj, get: obj => obj.payloadEnvelope, set: (obj, value) => { obj.payloadEnvelope = value; } }, metadata: _metadata }, _payloadEnvelope_initializers, _payloadEnvelope_extraInitializers);
185
+ __esDecorate(null, null, _payloadBytes_decorators, { kind: "field", name: "payloadBytes", static: false, private: false, access: { has: obj => "payloadBytes" in obj, get: obj => obj.payloadBytes, set: (obj, value) => { obj.payloadBytes = value; } }, metadata: _metadata }, _payloadBytes_initializers, _payloadBytes_extraInitializers);
186
+ __esDecorate(null, null, _ttlSeconds_decorators, { kind: "field", name: "ttlSeconds", static: false, private: false, access: { has: obj => "ttlSeconds" in obj, get: obj => obj.ttlSeconds, set: (obj, value) => { obj.ttlSeconds = value; } }, metadata: _metadata }, _ttlSeconds_initializers, _ttlSeconds_extraInitializers);
187
+ __esDecorate(null, null, _urgency_decorators, { kind: "field", name: "urgency", static: false, private: false, access: { has: obj => "urgency" in obj, get: obj => obj.urgency, set: (obj, value) => { obj.urgency = value; } }, metadata: _metadata }, _urgency_initializers, _urgency_extraInitializers);
188
+ __esDecorate(null, null, _topic_decorators, { kind: "field", name: "topic", static: false, private: false, access: { has: obj => "topic" in obj, get: obj => obj.topic, set: (obj, value) => { obj.topic = value; } }, metadata: _metadata }, _topic_initializers, _topic_extraInitializers);
189
+ __esDecorate(null, null, _state_decorators, { kind: "field", name: "state", static: false, private: false, access: { has: obj => "state" in obj, get: obj => obj.state, set: (obj, value) => { obj.state = value; } }, metadata: _metadata }, _state_initializers, _state_extraInitializers);
190
+ __esDecorate(null, null, _attempts_decorators, { kind: "field", name: "attempts", static: false, private: false, access: { has: obj => "attempts" in obj, get: obj => obj.attempts, set: (obj, value) => { obj.attempts = value; } }, metadata: _metadata }, _attempts_initializers, _attempts_extraInitializers);
191
+ __esDecorate(null, null, _acceptedAt_decorators, { kind: "field", name: "acceptedAt", static: false, private: false, access: { has: obj => "acceptedAt" in obj, get: obj => obj.acceptedAt, set: (obj, value) => { obj.acceptedAt = value; } }, metadata: _metadata }, _acceptedAt_initializers, _acceptedAt_extraInitializers);
192
+ __esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
193
+ __esDecorate(null, null, _nextAttemptAt_decorators, { kind: "field", name: "nextAttemptAt", static: false, private: false, access: { has: obj => "nextAttemptAt" in obj, get: obj => obj.nextAttemptAt, set: (obj, value) => { obj.nextAttemptAt = value; } }, metadata: _metadata }, _nextAttemptAt_initializers, _nextAttemptAt_extraInitializers);
194
+ __esDecorate(null, null, _expiresAt_decorators, { kind: "field", name: "expiresAt", static: false, private: false, access: { has: obj => "expiresAt" in obj, get: obj => obj.expiresAt, set: (obj, value) => { obj.expiresAt = value; } }, metadata: _metadata }, _expiresAt_initializers, _expiresAt_extraInitializers);
195
+ __esDecorate(null, null, _leaseToken_decorators, { kind: "field", name: "leaseToken", static: false, private: false, access: { has: obj => "leaseToken" in obj, get: obj => obj.leaseToken, set: (obj, value) => { obj.leaseToken = value; } }, metadata: _metadata }, _leaseToken_initializers, _leaseToken_extraInitializers);
196
+ __esDecorate(null, null, _leaseExpiresAt_decorators, { kind: "field", name: "leaseExpiresAt", static: false, private: false, access: { has: obj => "leaseExpiresAt" in obj, get: obj => obj.leaseExpiresAt, set: (obj, value) => { obj.leaseExpiresAt = value; } }, metadata: _metadata }, _leaseExpiresAt_initializers, _leaseExpiresAt_extraInitializers);
197
+ __esDecorate(null, null, _cancelRequestedAt_decorators, { kind: "field", name: "cancelRequestedAt", static: false, private: false, access: { has: obj => "cancelRequestedAt" in obj, get: obj => obj.cancelRequestedAt, set: (obj, value) => { obj.cancelRequestedAt = value; } }, metadata: _metadata }, _cancelRequestedAt_initializers, _cancelRequestedAt_extraInitializers);
198
+ __esDecorate(null, null, _cancelErrorCode_decorators, { kind: "field", name: "cancelErrorCode", static: false, private: false, access: { has: obj => "cancelErrorCode" in obj, get: obj => obj.cancelErrorCode, set: (obj, value) => { obj.cancelErrorCode = value; } }, metadata: _metadata }, _cancelErrorCode_initializers, _cancelErrorCode_extraInitializers);
199
+ __esDecorate(null, null, _terminalAt_decorators, { kind: "field", name: "terminalAt", static: false, private: false, access: { has: obj => "terminalAt" in obj, get: obj => obj.terminalAt, set: (obj, value) => { obj.terminalAt = value; } }, metadata: _metadata }, _terminalAt_initializers, _terminalAt_extraInitializers);
200
+ __esDecorate(null, null, _pushServiceStatusCode_decorators, { kind: "field", name: "pushServiceStatusCode", static: false, private: false, access: { has: obj => "pushServiceStatusCode" in obj, get: obj => obj.pushServiceStatusCode, set: (obj, value) => { obj.pushServiceStatusCode = value; } }, metadata: _metadata }, _pushServiceStatusCode_initializers, _pushServiceStatusCode_extraInitializers);
201
+ __esDecorate(null, null, _errorCode_decorators, { kind: "field", name: "errorCode", static: false, private: false, access: { has: obj => "errorCode" in obj, get: obj => obj.errorCode, set: (obj, value) => { obj.errorCode = value; } }, metadata: _metadata }, _errorCode_initializers, _errorCode_extraInitializers);
202
+ __esDecorate(null, null, _purgeAt_decorators, { kind: "field", name: "purgeAt", static: false, private: false, access: { has: obj => "purgeAt" in obj, get: obj => obj.purgeAt, set: (obj, value) => { obj.purgeAt = value; } }, metadata: _metadata }, _purgeAt_initializers, _purgeAt_extraInitializers);
203
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
204
+ WebPushSpoolDoc = _classThis = _classDescriptor.value;
205
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
206
+ __runInitializers(_classThis, _classExtraInitializers);
207
+ }
208
+ id = __runInitializers(this, _id_initializers, void 0);
209
+ schemaVersion = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _schemaVersion_initializers, 1));
210
+ bindingId = (__runInitializers(this, _schemaVersion_extraInitializers), __runInitializers(this, _bindingId_initializers, void 0));
211
+ lifecycleGeneration = (__runInitializers(this, _bindingId_extraInitializers), __runInitializers(this, _lifecycleGeneration_initializers, void 0));
212
+ /** Credential that created this item; used only for the idempotency namespace. */
213
+ credentialId = (__runInitializers(this, _lifecycleGeneration_extraInitializers), __runInitializers(this, _credentialId_initializers, void 0));
214
+ hmacKeyId = (__runInitializers(this, _credentialId_extraInitializers), __runInitializers(this, _hmacKeyId_initializers, void 0));
215
+ idempotencyKeyDigest = (__runInitializers(this, _hmacKeyId_extraInitializers), __runInitializers(this, _idempotencyKeyDigest_initializers, void 0));
216
+ requestDigest = (__runInitializers(this, _idempotencyKeyDigest_extraInitializers), __runInitializers(this, _requestDigest_initializers, void 0));
217
+ subscriptionId = (__runInitializers(this, _requestDigest_extraInitializers), __runInitializers(this, _subscriptionId_initializers, void 0));
218
+ endpointDigest = (__runInitializers(this, _subscriptionId_extraInitializers), __runInitializers(this, _endpointDigest_initializers, void 0));
219
+ vapidKeyId = (__runInitializers(this, _endpointDigest_extraInitializers), __runInitializers(this, _vapidKeyId_initializers, void 0));
220
+ subscriptionEnvelope = (__runInitializers(this, _vapidKeyId_extraInitializers), __runInitializers(this, _subscriptionEnvelope_initializers, void 0));
221
+ payloadEnvelope = (__runInitializers(this, _subscriptionEnvelope_extraInitializers), __runInitializers(this, _payloadEnvelope_initializers, void 0));
222
+ payloadBytes = (__runInitializers(this, _payloadEnvelope_extraInitializers), __runInitializers(this, _payloadBytes_initializers, void 0));
223
+ ttlSeconds = (__runInitializers(this, _payloadBytes_extraInitializers), __runInitializers(this, _ttlSeconds_initializers, void 0));
224
+ urgency = (__runInitializers(this, _ttlSeconds_extraInitializers), __runInitializers(this, _urgency_initializers, void 0));
225
+ topic = (__runInitializers(this, _urgency_extraInitializers), __runInitializers(this, _topic_initializers, null));
226
+ state = (__runInitializers(this, _topic_extraInitializers), __runInitializers(this, _state_initializers, void 0));
227
+ attempts = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _attempts_initializers, 0));
228
+ acceptedAt = (__runInitializers(this, _attempts_extraInitializers), __runInitializers(this, _acceptedAt_initializers, void 0));
229
+ updatedAt = (__runInitializers(this, _acceptedAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
230
+ nextAttemptAt = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _nextAttemptAt_initializers, void 0));
231
+ expiresAt = (__runInitializers(this, _nextAttemptAt_extraInitializers), __runInitializers(this, _expiresAt_initializers, void 0));
232
+ /** MUST BE ABSENT while the item is not leased. */
233
+ leaseToken = (__runInitializers(this, _expiresAt_extraInitializers), __runInitializers(this, _leaseToken_initializers, void 0));
234
+ /** MUST BE ABSENT while the item is not leased. */
235
+ leaseExpiresAt = (__runInitializers(this, _leaseToken_extraInitializers), __runInitializers(this, _leaseExpiresAt_initializers, void 0));
236
+ /** MUST BE ABSENT until cancellation races with an in-flight send. */
237
+ cancelRequestedAt = (__runInitializers(this, _leaseExpiresAt_extraInitializers), __runInitializers(this, _cancelRequestedAt_initializers, void 0));
238
+ /** MUST BE ABSENT until an in-flight cancellation records its terminal reason. */
239
+ cancelErrorCode = (__runInitializers(this, _cancelRequestedAt_extraInitializers), __runInitializers(this, _cancelErrorCode_initializers, void 0));
240
+ /** MUST BE ABSENT before a terminal transition. */
241
+ terminalAt = (__runInitializers(this, _cancelErrorCode_extraInitializers), __runInitializers(this, _terminalAt_initializers, void 0));
242
+ pushServiceStatusCode = (__runInitializers(this, _terminalAt_extraInitializers), __runInitializers(this, _pushServiceStatusCode_initializers, null));
243
+ errorCode = (__runInitializers(this, _pushServiceStatusCode_extraInitializers), __runInitializers(this, _errorCode_initializers, null));
244
+ /** MUST BE ABSENT until terminal retention begins. */
245
+ purgeAt = (__runInitializers(this, _errorCode_extraInitializers), __runInitializers(this, _purgeAt_initializers, void 0));
246
+ static getNativeCollection() {
247
+ return getDb().mongoDb.collection('WebPushSpoolDoc');
248
+ }
249
+ async createSavableObject() {
250
+ const savable = await super.createSavableObject();
251
+ for (const field of [
252
+ 'subscriptionEnvelope',
253
+ 'payloadEnvelope',
254
+ 'leaseToken',
255
+ 'leaseExpiresAt',
256
+ 'cancelRequestedAt',
257
+ 'cancelErrorCode',
258
+ 'terminalAt',
259
+ 'purgeAt',
260
+ ]) {
261
+ if (savable[field] === undefined)
262
+ delete savable[field];
263
+ }
264
+ savable.topic = savable.topic ?? null;
265
+ savable.pushServiceStatusCode = savable.pushServiceStatusCode ?? null;
266
+ savable.errorCode = savable.errorCode ?? null;
267
+ return savable;
268
+ }
269
+ constructor() {
270
+ super(...arguments);
271
+ __runInitializers(this, _purgeAt_extraInitializers);
272
+ }
273
+ };
274
+ return WebPushSpoolDoc = _classThis;
275
+ })();
276
+ export { WebPushSpoolDoc };
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy53ZWJwdXNoLXNwb29sLmRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzL2RiL2RvY3VtZW50cy9jbGFzc2VzLndlYnB1c2gtc3Bvb2wuZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd2RCxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFHeEMsZUFBZTs0QkFEM0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7Ozs7c0JBQ1AsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytCQUF4QyxTQUFRLFdBR3BDOzs7OzhCQUNFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO3lDQUd4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtxQ0FHeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7K0NBR3hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO3dDQUl4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtxQ0FHeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0RBR3hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO3lDQUd4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTswQ0FHeEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJ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
@@ -24,5 +24,8 @@ export * from './classes.dns-record.doc.js';
24
24
  export * from './classes.acme-config.doc.js';
25
25
  export * from './classes.email-domain.doc.js';
26
26
  export * from './classes.email-server-settings.doc.js';
27
+ export * from './classes.webpush-binding.doc.js';
28
+ export * from './classes.webpush-admission.doc.js';
29
+ export * from './classes.webpush-spool.doc.js';
27
30
  export * from './classes.smartmta-storage.doc.js';
28
31
  export * from './classes.ops-config-event.doc.js';
@@ -33,6 +33,10 @@ export * from './classes.acme-config.doc.js';
33
33
  // Email domain management
34
34
  export * from './classes.email-domain.doc.js';
35
35
  export * from './classes.email-server-settings.doc.js';
36
+ // Web Push provider documents
37
+ export * from './classes.webpush-binding.doc.js';
38
+ export * from './classes.webpush-admission.doc.js';
39
+ export * from './classes.webpush-spool.doc.js';
36
40
  export * from './classes.smartmta-storage.doc.js';
37
41
  export * from './classes.ops-config-event.doc.js';
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9kYi9kb2N1bWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCwwQkFBMEI7QUFDMUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsdUJBQXVCO0FBQ3ZCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QywrQkFBK0I7QUFDL0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCwwQkFBMEI7QUFDMUIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELDJDQUEyQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxpQ0FBaUM7QUFDakMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QywwQkFBMEI7QUFDMUIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQyJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90cy9kYi9kb2N1bWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCwwQkFBMEI7QUFDMUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsdUJBQXVCO0FBQ3ZCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QywrQkFBK0I7QUFDL0IsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsa0NBQWtDO0FBQ2xDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCwwQkFBMEI7QUFDMUIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELDJDQUEyQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxpQ0FBaUM7QUFDakMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QywwQkFBMEI7QUFDMUIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBRXZELDhCQUE4QjtBQUM5QixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUMifQ==
@@ -47,6 +47,10 @@ export interface IAcceptRawEmailOptions {
47
47
  processAfterAccept?: boolean;
48
48
  /** Explicit direction override for programmatic submitters. Defaults to the session-authenticated rule. */
49
49
  direction?: TCachedEmailDirection;
50
+ /** Exact authenticated outbound identity and replay metadata. */
51
+ submissionCredentialId?: string;
52
+ submissionIdempotencyKey?: string;
53
+ submissionDigest?: string;
50
54
  }
51
55
  /**
52
56
  * Accept-then-spool pipeline for inbound SMTP messages: persists accepted
@@ -120,6 +124,7 @@ export declare class AcceptedEmailSpool {
120
124
  private updateSmartMtaRouteData;
121
125
  readRawMessage(cachedEmailArg: CachedEmail): Promise<plugins.buffer.Buffer>;
122
126
  deleteRawMessage(cachedEmailArg: CachedEmail): Promise<void>;
127
+ private cleanupRawMessageAfterSaveFailure;
123
128
  private persistRawMessage;
124
129
  private runCachedEmailUpdate;
125
130
  private trackUpdatePromise;