@serve.zone/coremail 1.3.0 → 32.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.smartconfig.json +1 -0
- package/changelog.md +28 -0
- package/dist_ts/00_commitinfo_data.js +4 -4
- package/dist_ts/classes.gateway.d.ts +10 -0
- package/dist_ts/classes.gateway.js +15 -6
- package/dist_ts/coremail.cursor.js +1 -15
- package/dist_ts/coremail.log.js +3 -6
- package/dist_ts/coremail.persistence.js +1 -2
- package/dist_ts/coremail.validation.js +1 -2
- package/package.json +5 -5
- package/readme.md +15 -6
- package/ts/00_commitinfo_data.ts +3 -3
- package/ts/classes.gateway.ts +21 -5
- package/ts/coremail.cursor.ts +2 -18
- package/ts/coremail.log.ts +2 -6
- package/ts/coremail.persistence.ts +0 -1
- package/ts/coremail.validation.ts +0 -1
package/.smartconfig.json
CHANGED
package/changelog.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-09-18 - 32.0.0
|
|
4
|
+
|
|
5
|
+
### Breaking Changes
|
|
6
|
+
|
|
7
|
+
- require @serve.zone/interfaces 32.0.0 (deps)
|
|
8
|
+
- Move the dependency from the exact pin `30.13.0` to `^32.0.0`; CoreMail no longer builds or runs against interfaces 31.x and below.
|
|
9
|
+
- The verifier contract id is `argon2id`, not `argon2id-v1`. Only the token changes: the PHC parameters and the Argon2id hash bytes are untouched, so every verifier string a control plane already minted still verifies. `test/test.auth.node.ts` authenticates a frozen pre-rename verifier to prove it.
|
|
10
|
+
- `schemaVersion` is gone from `ICoreMailDesiredState`, `ICoreMailBindingDesiredState`, `ICoreMailControlBootstrap` and `ICoreMailGatewayPeerDesiredState`. The contract normalizers are exact-key, so a desired-state document or a `COREMAIL_CONTROL_BOOTSTRAP` value that still carries the member is refused as an unknown key. Coreflow must write the 32.0.0 shape. Nothing replaces the field: the installed interfaces release is the contract version.
|
|
11
|
+
- The repository version jumps 1.3.0 to 32.0.0: the serve.zone platform repositories share one major from 32 on. The release floor is 32.0.0.
|
|
12
|
+
- drop the shape version from every value CoreMail derives itself (contracts)
|
|
13
|
+
- The outbound submission digest (`createCoreMailSubmissionDigest`) no longer hashes a `schemaVersion` member, so every `submissionDigest` changes — the value that decides whether a replayed idempotency key is the same intent, and the value in the immutable MIME object key `outbound-mime/<submissionId>/<digest>`.
|
|
14
|
+
- The opaque inbound cursor payload and envelope no longer carry `version`, so their signed bytes change and a cursor minted before this release is refused as invalid. Cursors expire after 24 hours and are never stored. The rotation counters `keyVersion` and the credential `version` are counters, not shape versions, and stay.
|
|
15
|
+
- The CoreMail desired-state digest changes with the contract shape, so no stored snapshot digest, snapshot object or applied-state pointer written before this release verifies.
|
|
16
|
+
- reset CoreMail state instead of migrating it (persistence)
|
|
17
|
+
- CoreMail has never been deployed: dcrouter has no gateway handlers and Coreflow provisions no bindings, and the live Onebox provider list has no coremail. Every database and bucket a pre-32 CoreMail wrote is therefore dropped rather than migrated — the digests above cannot be recomputed from stored fields, and there is nothing in production to recompute them for. No migration module ships with this release.
|
|
18
|
+
- publish version-tagged images only (docker)
|
|
19
|
+
- Build from `Dockerfile_##version##` instead of `Dockerfile`, so tsdocker publishes `coremail:32.0.0` and never `coremail:latest` again. `coremail:latest` keeps the last 1.x build it held; retiring the frozen tag is a separate registry step.
|
|
20
|
+
- State the release in the image labels (`org.opencontainers.image.version` and `version`), which the plain `Dockerfile` never carried.
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
- pin the handshake decision with a specification (protocol)
|
|
25
|
+
- `test/test.protocol.node.ts` holds what interfaces 32.0.0 decided for CoreMail: the registration carriers exchange a protocol offer and the CoreMail contracts do not, so the control, workload and gateway sessions name no major and negotiate nothing. The gateway body CoreMail sends now has one owner, `createCoreMailGatewayAuthenticationRequest`, so the specification judges the body the client actually fires, and the spec fails on the interfaces major that introduces the cluster-mail registration instead of letting it be inherited silently.
|
|
26
|
+
|
|
27
|
+
### Fixes
|
|
28
|
+
|
|
29
|
+
- Log with the package's own commitinfo instead of a hand-written `1.0.0` literal that had been stale since 1.0.1, so the logger states the running release.
|
|
30
|
+
|
|
3
31
|
## 2026-09-15 - 1.3.0
|
|
4
32
|
|
|
5
33
|
### Features
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
|
-
name:
|
|
6
|
-
version:
|
|
7
|
-
description:
|
|
5
|
+
name: "@serve.zone/coremail",
|
|
6
|
+
version: "32.0.0",
|
|
7
|
+
description: "Authenticated mail persistence and delivery orchestration for serve.zone workloads."
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHFGQUFxRjtDQUNuRyxDQUFBIn0=
|
|
@@ -6,8 +6,18 @@ import type { ICoreMailConfig } from './interfaces.js';
|
|
|
6
6
|
import type { ICoreMailSubmissionRecord } from './coremail.persistence.js';
|
|
7
7
|
type TDesiredState = plugins.serveZoneInterfaces.data.ICoreMailDesiredState;
|
|
8
8
|
type TGatewayStatus = plugins.serveZoneInterfaces.data.ICoreMailGatewayOutboundStatus;
|
|
9
|
+
type TGatewayDesired = plugins.serveZoneInterfaces.data.ICoreMailGatewayDesiredState;
|
|
9
10
|
type TStoredSubmission = plugins.smartdata.TStoredDocument<ICoreMailSubmissionRecord>;
|
|
10
11
|
export declare const stableStringify: (valueArg: unknown) => string;
|
|
12
|
+
/**
|
|
13
|
+
* The body CoreMail sends to open its dcrouter gateway session.
|
|
14
|
+
*
|
|
15
|
+
* A first-contact exchange: `@serve.zone/interfaces` 32.0.0 gives the CoreMail
|
|
16
|
+
* carriers no `protocol` member, so CoreMail names no major to the gateway and
|
|
17
|
+
* negotiates nothing. The body lives here, beside the caller, so the session
|
|
18
|
+
* CoreMail opens can be judged by a specification without dialling a socket.
|
|
19
|
+
*/
|
|
20
|
+
export declare const createCoreMailGatewayAuthenticationRequest: (gatewayArg: TGatewayDesired, credentialSecretArg: string) => plugins.serveZoneInterfaces.requests.coremail.IReq_CoreMailGatewayAuthenticate["request"];
|
|
11
21
|
export declare const requireMatchingCoreMailTransferOrigin: (valueArg: unknown, expectedArg: string) => string;
|
|
12
22
|
export declare class CoreMailGateway {
|
|
13
23
|
private readonly config;
|
|
@@ -26,6 +26,19 @@ export const stableStringify = (valueArg) => {
|
|
|
26
26
|
}
|
|
27
27
|
return JSON.stringify(valueArg) ?? 'null';
|
|
28
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* The body CoreMail sends to open its dcrouter gateway session.
|
|
31
|
+
*
|
|
32
|
+
* A first-contact exchange: `@serve.zone/interfaces` 32.0.0 gives the CoreMail
|
|
33
|
+
* carriers no `protocol` member, so CoreMail names no major to the gateway and
|
|
34
|
+
* negotiates nothing. The body lives here, beside the caller, so the session
|
|
35
|
+
* CoreMail opens can be judged by a specification without dialling a socket.
|
|
36
|
+
*/
|
|
37
|
+
export const createCoreMailGatewayAuthenticationRequest = (gatewayArg, credentialSecretArg) => ({
|
|
38
|
+
credentialId: gatewayArg.credentialId,
|
|
39
|
+
credentialVersion: gatewayArg.credentialVersion,
|
|
40
|
+
credentialSecret: credentialSecretArg,
|
|
41
|
+
});
|
|
29
42
|
const normalizeTransferOrigin = (valueArg) => {
|
|
30
43
|
if (typeof valueArg !== 'string') {
|
|
31
44
|
throw new Error('CoreMail gateway returned an invalid transfer origin.');
|
|
@@ -220,11 +233,7 @@ export class CoreMailGateway {
|
|
|
220
233
|
const response = await this.socket.createTypedRequest('coreMailGatewayAuthenticate', undefined, {
|
|
221
234
|
timeoutMs: 5_000,
|
|
222
235
|
abortSignal: this.stopController.signal,
|
|
223
|
-
}).fire(
|
|
224
|
-
credentialId: gatewayArg.credentialId,
|
|
225
|
-
credentialVersion: gatewayArg.credentialVersion,
|
|
226
|
-
credentialSecret,
|
|
227
|
-
});
|
|
236
|
+
}).fire(createCoreMailGatewayAuthenticationRequest(gatewayArg, credentialSecret));
|
|
228
237
|
if (response.authenticated !== true
|
|
229
238
|
|| response.credentialId !== gatewayArg.credentialId
|
|
230
239
|
|| response.credentialVersion !== gatewayArg.credentialVersion
|
|
@@ -719,4 +728,4 @@ export class CoreMailOutboundWorker {
|
|
|
719
728
|
}
|
|
720
729
|
}
|
|
721
730
|
}
|
|
722
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5nYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBd0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1oRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6Qiw0QkFBNEIsR0FDN0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSx5QkFBeUIsQ0FBQztBQVFqQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsWUFBb0IsRUFBc0IsRUFBRSxDQUFDLENBQUM7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxHQUFHO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBaUIsRUFBVSxFQUFFO0lBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVB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
|
|
731
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5nYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBd0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1oRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6Qiw0QkFBNEIsR0FDN0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDcEIsTUFBTSx5QkFBeUIsQ0FBQztBQVFqQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsWUFBb0IsRUFBc0IsRUFBRSxDQUFDLENBQUM7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFNBQVMsRUFBRSxHQUFHO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBaUIsRUFBVSxFQUFFO0lBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVB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
|
|
@@ -3,7 +3,6 @@ import { requireCoreMailIdentifier, requireCoreMailSafeInteger, requireCoreMailU
|
|
|
3
3
|
const maximumCursorAgeMs = 24 * 60 * 60 * 1_000;
|
|
4
4
|
const maximumFutureSkewMs = 1_000;
|
|
5
5
|
const payloadKeys = new Set([
|
|
6
|
-
'version',
|
|
7
6
|
'tenantId',
|
|
8
7
|
'serviceId',
|
|
9
8
|
'bindingId',
|
|
@@ -13,14 +12,12 @@ const payloadKeys = new Set([
|
|
|
13
12
|
'deliveryId',
|
|
14
13
|
]);
|
|
15
14
|
const envelopeKeys = new Set([
|
|
16
|
-
'version',
|
|
17
15
|
'keyId',
|
|
18
16
|
'keyVersion',
|
|
19
17
|
'payload',
|
|
20
18
|
'signature',
|
|
21
19
|
]);
|
|
22
20
|
const canonicalPayload = (payloadArg) => JSON.stringify({
|
|
23
|
-
version: payloadArg.version,
|
|
24
21
|
tenantId: payloadArg.tenantId,
|
|
25
22
|
serviceId: payloadArg.serviceId,
|
|
26
23
|
bindingId: payloadArg.bindingId,
|
|
@@ -30,7 +27,6 @@ const canonicalPayload = (payloadArg) => JSON.stringify({
|
|
|
30
27
|
deliveryId: payloadArg.deliveryId,
|
|
31
28
|
});
|
|
32
29
|
const canonicalEnvelope = (envelopeArg) => JSON.stringify({
|
|
33
|
-
version: envelopeArg.version,
|
|
34
30
|
keyId: envelopeArg.keyId,
|
|
35
31
|
keyVersion: envelopeArg.keyVersion,
|
|
36
32
|
payload: envelopeArg.payload,
|
|
@@ -67,11 +63,7 @@ const parseCanonicalRecord = (encodedArg, keysArg) => {
|
|
|
67
63
|
};
|
|
68
64
|
const parsePayload = (encodedArg) => {
|
|
69
65
|
const value = parseCanonicalRecord(encodedArg, payloadKeys);
|
|
70
|
-
if (value.version !== 1) {
|
|
71
|
-
throw new Error('CoreMail inbound cursor version is unsupported.');
|
|
72
|
-
}
|
|
73
66
|
const payload = {
|
|
74
|
-
version: 1,
|
|
75
67
|
tenantId: requireCoreMailIdentifier(value.tenantId, 'cursor.tenantId'),
|
|
76
68
|
serviceId: requireCoreMailIdentifier(value.serviceId, 'cursor.serviceId'),
|
|
77
69
|
bindingId: requireCoreMailIdentifier(value.bindingId, 'cursor.bindingId'),
|
|
@@ -111,7 +103,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
111
103
|
}
|
|
112
104
|
const authority = requireAuthority(authorityArg);
|
|
113
105
|
const payload = {
|
|
114
|
-
version: 1,
|
|
115
106
|
...authority,
|
|
116
107
|
snapshotAt: requireCoreMailSafeInteger(positionArg.snapshotAt, 'cursor.snapshotAt'),
|
|
117
108
|
receivedAt: requireCoreMailSafeInteger(positionArg.receivedAt, 'cursor.receivedAt'),
|
|
@@ -122,7 +113,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
122
113
|
}
|
|
123
114
|
const encodedPayload = Buffer.from(canonicalPayload(payload), 'utf8').toString('base64url');
|
|
124
115
|
const envelope = {
|
|
125
|
-
version: 1,
|
|
126
116
|
keyId: currentKey.keyId,
|
|
127
117
|
keyVersion: currentKey.version,
|
|
128
118
|
payload: encodedPayload,
|
|
@@ -133,9 +123,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
133
123
|
decode(cursorArg, authorityArg, nowArg, keysArg) {
|
|
134
124
|
const cursor = plugins.serveZoneInterfaces.data.normalizeCoreMailInboundCursor(cursorArg);
|
|
135
125
|
const value = parseCanonicalRecord(cursor, envelopeKeys);
|
|
136
|
-
if (value.version !== 1) {
|
|
137
|
-
throw new Error('CoreMail inbound cursor version is unsupported.');
|
|
138
|
-
}
|
|
139
126
|
const now = requireCoreMailSafeInteger(nowArg, 'cursor.now');
|
|
140
127
|
const keyId = requireCoreMailIdentifier(value.keyId, 'cursor.keyId');
|
|
141
128
|
const keyVersion = requireCoreMailSafeInteger(value.keyVersion, 'cursor.keyVersion', 1);
|
|
@@ -143,7 +130,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
143
130
|
throw new Error('CoreMail inbound cursor is invalid.');
|
|
144
131
|
}
|
|
145
132
|
const envelope = {
|
|
146
|
-
version: 1,
|
|
147
133
|
keyId,
|
|
148
134
|
keyVersion,
|
|
149
135
|
payload: value.payload,
|
|
@@ -188,4 +174,4 @@ export class CoreMailInboundCursorCodec {
|
|
|
188
174
|
};
|
|
189
175
|
}
|
|
190
176
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwuY3Vyc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY29yZW1haWwuY3Vyc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBOEJqQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztBQUNoRCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQztBQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMxQixTQUFTO0lBQ1QsVUFBVTtJQUNWLFdBQVc7SUFDWCxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtDQUNiLENBQUMsQ0FBQztBQUNILE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNCLFNBQVM7SUFDVCxPQUFPO0lBQ1AsWUFBWTtJQUNaLFNBQVM7SUFDVCxXQUFXO0NBQ1osQ0FBQyxDQUFDO0FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixVQUF5QyxFQUNqQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87SUFDM0IsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO0lBQzdCLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztJQUMvQixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7SUFDL0IsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO0lBQzNDLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNqQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDakMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0NBQ2xDLENBQUMsQ0FBQztBQUVILE1B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
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwuY3Vyc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY29yZW1haWwuY3Vyc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDO0FBNEJqQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztBQUNoRCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQztBQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMxQixVQUFVO0lBQ1YsV0FBVztJQUNYLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0NBQ2IsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDM0IsT0FBTztJQUNQLFlBQVk7SUFDWixTQUFTO0lBQ1QsV0FBVztDQUNaLENBQUMsQ0FBQztBQUVILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsVUFBeUMsRUFDakMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO0lBQzdCLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztJQUMvQixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7SUFDL0IsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO0lBQzNDLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNqQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDakMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0NBQ2xDLENBQUMsQ0FBQztBQUVILE1BQU0saUJBQWlCLEdBQUcsQ0FDeEIsV0FBMkMsRUFDbkMsRUFBRSxDQUFDLElBQUksQ0FB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
|
package/dist_ts/coremail.log.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
version: '1.0.0',
|
|
5
|
-
description: 'Authenticated mail persistence and delivery orchestration for serve.zone workloads.',
|
|
6
|
-
});
|
|
2
|
+
import { commitinfo } from './00_commitinfo_data.js';
|
|
3
|
+
export const coreMailLogger = plugins.smartlog.Smartlog.createForCommitinfo(commitinfo);
|
|
7
4
|
coreMailLogger.enableConsole();
|
|
8
5
|
const redactUrlCredentials = (valueArg) => valueArg.replace(/:\/\/[^\s/@]+@/g, '://[redacted]@');
|
|
9
6
|
export const sanitizeErrorForLog = (errorArg) => {
|
|
@@ -26,4 +23,4 @@ export const logCoreMailFailure = async (componentArg, codeArg, errorArg, contex
|
|
|
26
23
|
...(contextArg === undefined ? {} : { context: contextArg }),
|
|
27
24
|
});
|
|
28
25
|
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwubG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY29yZW1haWwubG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7QUFFeEYsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBRS9CLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxRQUFnQixFQUFVLEVBQUUsQ0FDeEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBT3hELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLFFBQWlCLEVBQ1EsRUFBRTtJQUMzQixJQUFJLFFBQVEsWUFBWSxLQUFLLEVBQUUsQ0FBQztRQUM5QixPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ25CLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO0tBQzlELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLEVBQ3JDLFlBU1ksRUFDWixPQUFlLEVBQ2YsUUFBa0IsRUFDbEIsVUFBNEMsRUFDN0IsRUFBRTtJQUNqQixNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQ3RCLE1BQU0sRUFDTiw0QkFBNEIsRUFDNUI7UUFDRSxTQUFTLEVBQUUsWUFBWTtRQUN2QixJQUFJLEVBQUUsT0FBTztRQUNiLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDM0UsR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7S0FDN0QsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
|
@@ -446,7 +446,6 @@ export const assertCoreMailSubmissionRecord = (valueArg) => {
|
|
|
446
446
|
}
|
|
447
447
|
else {
|
|
448
448
|
const normalizedMessage = normalizeCoreMailOutboundMessage(value.message, {
|
|
449
|
-
schemaVersion: 2,
|
|
450
449
|
bindingId: String(value.bindingId),
|
|
451
450
|
serviceId: String(value.serviceId),
|
|
452
451
|
tenantId: String(value.tenantId),
|
|
@@ -776,4 +775,4 @@ export const assertCoreMailInboundHandoffRecord = (valueArg) => {
|
|
|
776
775
|
throw new Error('CoreMailInboundHandoff completion tuple is invalid.');
|
|
777
776
|
}
|
|
778
777
|
};
|
|
779
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwucGVyc2lzdGVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jb3JlbWFpbC5wZXJzaXN0ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUN6QixnQ0FBZ0MsR0FDakMsTUFBTSwwQkFBMEIsQ0FBQztBQXdFbEMsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGNBQWM7SUFDZCxlQUFlO0lBQ2YsV0FBVztJQUNYLFVBQVU7SUFDVixRQUFRO0lBQ1IsY0FBYztJQUNkLFVBQVU7SUFDVix1QkFBdUI7SUFDdkIsdUJBQXVCO0NBQ2YsQ0FBQztBQXVIWCxNQUFNLGVBQWUsR0FDbkIscURBQXFELENBQUM7QUFDeEQsTUFBTSxTQUFTLEdBQ2IsMkVBQTJFLENBQUM7QUFDOUUsTUFBTSxjQUFjLEdBQUcsc0NBQXNDLENBQUM7QUFDOUQsTUFBTSxnQkFBZ0IsR0FDcEIsOEdBQThHLENBQUM7QUFFakgsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsUUFBaUIsRUFDakIsV0FBcUIsRUFDckIsV0FBcUIsRUFDckIsUUFBZ0IsRUFDUyxFQUFFO0lBQzNCLElBQ0UsQ0FBQyxRQUFRO1dBQ04sT0FBTyxRQUFRLEtBQUssUUFBUTtXQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztXQUN2QixDQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVM7ZUFDakQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQzVDLEVBQ0QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxRQUFRLDBCQUEwQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFFBQW1DLENB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
|
|
778
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwucGVyc2lzdGVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jb3JlbWFpbC5wZXJzaXN0ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUN6QixnQ0FBZ0MsR0FDakMsTUFBTSwwQkFBMEIsQ0FBQztBQXdFbEMsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGNBQWM7SUFDZCxlQUFlO0lBQ2YsV0FBVztJQUNYLFVBQVU7SUFDVixRQUFRO0lBQ1IsY0FBYztJQUNkLFVBQVU7SUFDVix1QkFBdUI7SUFDdkIsdUJBQXVCO0NBQ2YsQ0FBQztBQXVIWCxNQUFNLGVBQWUsR0FDbkIscURBQXFELENBQUM7QUFDeEQsTUFBTSxTQUFTLEdBQ2IsMkVBQTJFLENBQUM7QUFDOUUsTUFBTSxjQUFjLEdBQUcsc0NBQXNDLENBQUM7QUFDOUQsTUFBTSxnQkFBZ0IsR0FDcEIsOEdBQThHLENBQUM7QUFFakgsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsUUFBaUIsRUFDakIsV0FBcUIsRUFDckIsV0FBcUIsRUFDckIsUUFBZ0IsRUFDUyxFQUFFO0lBQzNCLElBQ0UsQ0FBQyxRQUFRO1dBQ04sT0FBTyxRQUFRLEtBQUssUUFBUTtXQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztXQUN2QixDQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVM7ZUFDakQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQzVDLEVBQ0QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxRQUFRLDBCQUEwQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLFFBQW1DLENB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
|
|
@@ -100,9 +100,8 @@ export const createCoreMailSubmissionDigest = (idempotencyKeyArg, messageArg) =>
|
|
|
100
100
|
throw new Error('CoreMail idempotency key is invalid.');
|
|
101
101
|
}
|
|
102
102
|
return createSha256(JSON.stringify({
|
|
103
|
-
schemaVersion: 1,
|
|
104
103
|
idempotencyKey: idempotencyKeyArg,
|
|
105
104
|
message: messageArg,
|
|
106
105
|
}));
|
|
107
106
|
};
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZW1haWwudmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NvcmVtYWlsLnZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXBELE1BQU0scUJBQXFCLEdBQUcsaUNBQWlDLENBQUM7QUFDaEUsTUFBTSx1QkFBdUIsR0FBRyx3Q0FBd0MsQ0FBQztBQUN6RSxNQUFNLE9BQU8sR0FBRyxxQ0FBcUMsQ0FBQztBQUV0RCxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLFFBQWlCLEVBQ2pCLFFBQWdCLEVBQ1MsRUFBRTtJQUMzQixJQUNFLENBQUMsUUFBUTtXQUNOLE9BQU8sUUFBUSxLQUFLLFFBQVE7V0FDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7V0FDdkIsQ0FDRCxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxTQUFTO2VBQ2pELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUM1QyxFQUNELENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsUUFBUSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLFFBQW1DLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixTQUFrQyxFQUNsQyxXQUFxQixFQUNyQixXQUFxQixFQUNyQixRQUFnQixFQUNWLEVBQUU7SUFDUixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMxRCxJQUNFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7V0FDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNoRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFFBQVEsc0NBQXNDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxRQUFpQixFQUFVLEVBQUU7SUFDM0UsSUFDRSxPQUFPLFFBQVEsS0FBSyxRQUFRO1dBQ3pCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztXQUNuQixNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxHQUFHO1dBQ3pDLFFBQVEsS0FBSyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQ3RDLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxNQUFNLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsSUFDRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7V0FDbkIsU0FBUyxDQUFDLE1BQU0sR0FBRyxFQUFFO1dBQ3JCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztXQUN0QyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztXQUN6QixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztXQUN2QixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztXQUN4QixNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7V0FDbkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHO1dBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztXQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNyRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxRQUFpQixFQUNtQyxFQUFFO0lBQ3RELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLElBQ0UsT0FBTyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVE7V0FDL0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7V0FDNUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztXQUN6QixLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQzVCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEtBQUssRUFBRTtRQUNwQyxDQUFDLENBQUMsRUFBRTtRQUNKLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNqRSxJQUFJLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFDRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLGdCQUF3QixFQUN4QixVQUF5RSxFQUNuRSxFQUFFO0lBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDdkUsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQzlDLFFBQWlCLEVBQ2pCLFVBQXlFLEVBQy9ELEVBQUU7SUFDWixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSTtTQUM3QywwQ0FBMEMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNoRSxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQzlDLFdBQStELEVBQ3JELEVBQUUsQ0FBQyxDQUFDO0lBQ2QsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUU7SUFDekMsVUFBVSxFQUFFO1FBQ1YsRUFBRSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7S0FDMUU7SUFDRCxPQUFPLEVBQUUsRUFBRTtJQUNYLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FDNUMsaUJBQXlCLEVBQ3pCLFVBQW9CLEVBQzhCLEVBQUU7SUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxjQUFjLEVBQUUsaUJBQWlCO1FBQ2pDLE9BQU8sRUFBRSxVQUFVO0tBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/coremail",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "32.0.0",
|
|
4
4
|
"description": "Authenticated mail persistence and delivery orchestration for serve.zone workloads.",
|
|
5
5
|
"main": "dist_ts/index.js",
|
|
6
6
|
"typings": "dist_ts/index.d.ts",
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"author": "Task Venture Capital GmbH",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"@git.zone/tsbuild": "^4.
|
|
11
|
+
"@git.zone/tsbuild": "^4.5.0",
|
|
12
12
|
"@git.zone/tsdocker": "^3.5.8",
|
|
13
13
|
"@git.zone/tsrun": "^2.0.6",
|
|
14
|
-
"@git.zone/tstest": "6.1.
|
|
14
|
+
"@git.zone/tstest": "6.1.1",
|
|
15
15
|
"@git.zone/tswatch": "^3.3.5",
|
|
16
16
|
"@push.rocks/smartmongo": "9.0.0",
|
|
17
|
-
"@types/node": "26.5.
|
|
17
|
+
"@types/node": "26.5.1"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@api.global/typedrequest": "^8.0.4",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@push.rocks/smartdata": "^10.4.0",
|
|
27
27
|
"@push.rocks/smartlog": "^3.2.2",
|
|
28
28
|
"@push.rocks/smartmta": "^9.6.1",
|
|
29
|
-
"@serve.zone/interfaces": "
|
|
29
|
+
"@serve.zone/interfaces": "^32.0.0",
|
|
30
30
|
"argon2": "^0.45.1"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
package/readme.md
CHANGED
|
@@ -64,6 +64,10 @@ CoreMail enforces these boundaries:
|
|
|
64
64
|
- Active and draining bindings derive their exact permitted operation set from
|
|
65
65
|
the shared contract; disabled bindings cannot authenticate.
|
|
66
66
|
- Every reconnect requires a new Argon2id-authenticated handshake.
|
|
67
|
+
- No CoreMail session negotiates a contract major: interfaces 32.0.0 puts the
|
|
68
|
+
protocol offer on the registration carriers and gives the CoreMail contracts
|
|
69
|
+
none, so the control, workload and gateway sessions are first-contact
|
|
70
|
+
exchanges judged by their exact contract alone.
|
|
67
71
|
- TypedSocket tags are routing metadata, never authentication.
|
|
68
72
|
- Message bytes never travel as JSON, base64 RPC payloads, or VirtualStreams.
|
|
69
73
|
One-time grants authorize bounded HTTP `PUT` or `GET` transfers.
|
|
@@ -102,10 +106,11 @@ deadlines are enforced by SmartServe.
|
|
|
102
106
|
## Configuration
|
|
103
107
|
|
|
104
108
|
CoreMail requires Coreflow and the deployment secret foundation to provide
|
|
105
|
-
runtime configuration.
|
|
106
|
-
|
|
107
|
-
the verified map and secret files; `workloadinit` injects
|
|
108
|
-
the process environment immediately before executing
|
|
109
|
+
runtime configuration. Secret material declared by `@serve.zone/interfaces` is
|
|
110
|
+
delivered by launching the workload through `workloadinit`. The platform
|
|
111
|
+
integration must write the verified map and secret files; `workloadinit` injects
|
|
112
|
+
their exact values into the process environment immediately before executing
|
|
113
|
+
CoreMail. CoreMail does not
|
|
109
114
|
fetch, decrypt, or persist runtime secret material itself. Until the dcrouter
|
|
110
115
|
and Coreflow integrations are released, a platform CoreMail deployment is not
|
|
111
116
|
ready. Malformed startup configuration terminates
|
|
@@ -120,8 +125,8 @@ API-only surface; an enabled one whose secret keys do not resolve leaves the
|
|
|
120
125
|
listener down. Changing any of these values restarts the listener in place.
|
|
121
126
|
|
|
122
127
|
```text
|
|
123
|
-
/opt/serve.zone/runtime-assets/workloadinit/
|
|
124
|
-
--map /run/serve.zone/workloadinit-map
|
|
128
|
+
/opt/serve.zone/runtime-assets/workloadinit/workloadinit run \
|
|
129
|
+
--map /run/serve.zone/workloadinit-map.json -- node cli.js
|
|
125
130
|
```
|
|
126
131
|
|
|
127
132
|
| Variable | Purpose |
|
|
@@ -231,6 +236,10 @@ pnpm run build:docker
|
|
|
231
236
|
pnpm run release:docker
|
|
232
237
|
```
|
|
233
238
|
|
|
239
|
+
It is built from `Dockerfile_##version##`, so every build publishes the release
|
|
240
|
+
version tag and nothing else. `coremail:latest` is never moved again — it keeps
|
|
241
|
+
the last 1.x build it held — and consumers pin the version tag.
|
|
242
|
+
|
|
234
243
|
## License and Legal Information
|
|
235
244
|
|
|
236
245
|
This repository contains open-source code licensed under the MIT License. A
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
|
-
name:
|
|
6
|
-
version:
|
|
7
|
-
description:
|
|
5
|
+
name: "@serve.zone/coremail",
|
|
6
|
+
version: "32.0.0",
|
|
7
|
+
description: "Authenticated mail persistence and delivery orchestration for serve.zone workloads."
|
|
8
8
|
}
|
package/ts/classes.gateway.ts
CHANGED
|
@@ -49,6 +49,24 @@ export const stableStringify = (valueArg: unknown): string => {
|
|
|
49
49
|
return JSON.stringify(valueArg) ?? 'null';
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
+
/**
|
|
53
|
+
* The body CoreMail sends to open its dcrouter gateway session.
|
|
54
|
+
*
|
|
55
|
+
* A first-contact exchange: `@serve.zone/interfaces` 32.0.0 gives the CoreMail
|
|
56
|
+
* carriers no `protocol` member, so CoreMail names no major to the gateway and
|
|
57
|
+
* negotiates nothing. The body lives here, beside the caller, so the session
|
|
58
|
+
* CoreMail opens can be judged by a specification without dialling a socket.
|
|
59
|
+
*/
|
|
60
|
+
export const createCoreMailGatewayAuthenticationRequest = (
|
|
61
|
+
gatewayArg: TGatewayDesired,
|
|
62
|
+
credentialSecretArg: string,
|
|
63
|
+
): plugins.serveZoneInterfaces.requests.coremail
|
|
64
|
+
.IReq_CoreMailGatewayAuthenticate['request'] => ({
|
|
65
|
+
credentialId: gatewayArg.credentialId,
|
|
66
|
+
credentialVersion: gatewayArg.credentialVersion,
|
|
67
|
+
credentialSecret: credentialSecretArg,
|
|
68
|
+
});
|
|
69
|
+
|
|
52
70
|
const normalizeTransferOrigin = (valueArg: unknown): string => {
|
|
53
71
|
if (typeof valueArg !== 'string') {
|
|
54
72
|
throw new Error('CoreMail gateway returned an invalid transfer origin.');
|
|
@@ -282,11 +300,9 @@ export class CoreMailGateway {
|
|
|
282
300
|
>('coreMailGatewayAuthenticate', undefined, {
|
|
283
301
|
timeoutMs: 5_000,
|
|
284
302
|
abortSignal: this.stopController.signal,
|
|
285
|
-
}).fire(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
credentialSecret,
|
|
289
|
-
});
|
|
303
|
+
}).fire(
|
|
304
|
+
createCoreMailGatewayAuthenticationRequest(gatewayArg, credentialSecret),
|
|
305
|
+
);
|
|
290
306
|
if (
|
|
291
307
|
response.authenticated !== true
|
|
292
308
|
|| response.credentialId !== gatewayArg.credentialId
|
package/ts/coremail.cursor.ts
CHANGED
|
@@ -18,13 +18,11 @@ export interface ICoreMailInboundCursorPosition {
|
|
|
18
18
|
deliveryId: string;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/** Exactly the authority a cursor is bound to plus the position it marks. */
|
|
21
22
|
interface ICoreMailInboundCursorPayload
|
|
22
|
-
extends ICoreMailInboundCursorAuthority, ICoreMailInboundCursorPosition {
|
|
23
|
-
version: 1;
|
|
24
|
-
}
|
|
23
|
+
extends ICoreMailInboundCursorAuthority, ICoreMailInboundCursorPosition {}
|
|
25
24
|
|
|
26
25
|
interface ICoreMailInboundCursorEnvelope {
|
|
27
|
-
version: 1;
|
|
28
26
|
keyId: string;
|
|
29
27
|
keyVersion: number;
|
|
30
28
|
payload: string;
|
|
@@ -36,7 +34,6 @@ type TCursorKey = plugins.serveZoneInterfaces.data.ICoreMailRuntimeKeyReference;
|
|
|
36
34
|
const maximumCursorAgeMs = 24 * 60 * 60 * 1_000;
|
|
37
35
|
const maximumFutureSkewMs = 1_000;
|
|
38
36
|
const payloadKeys = new Set([
|
|
39
|
-
'version',
|
|
40
37
|
'tenantId',
|
|
41
38
|
'serviceId',
|
|
42
39
|
'bindingId',
|
|
@@ -46,7 +43,6 @@ const payloadKeys = new Set([
|
|
|
46
43
|
'deliveryId',
|
|
47
44
|
]);
|
|
48
45
|
const envelopeKeys = new Set([
|
|
49
|
-
'version',
|
|
50
46
|
'keyId',
|
|
51
47
|
'keyVersion',
|
|
52
48
|
'payload',
|
|
@@ -56,7 +52,6 @@ const envelopeKeys = new Set([
|
|
|
56
52
|
const canonicalPayload = (
|
|
57
53
|
payloadArg: ICoreMailInboundCursorPayload,
|
|
58
54
|
): string => JSON.stringify({
|
|
59
|
-
version: payloadArg.version,
|
|
60
55
|
tenantId: payloadArg.tenantId,
|
|
61
56
|
serviceId: payloadArg.serviceId,
|
|
62
57
|
bindingId: payloadArg.bindingId,
|
|
@@ -69,7 +64,6 @@ const canonicalPayload = (
|
|
|
69
64
|
const canonicalEnvelope = (
|
|
70
65
|
envelopeArg: ICoreMailInboundCursorEnvelope,
|
|
71
66
|
): string => JSON.stringify({
|
|
72
|
-
version: envelopeArg.version,
|
|
73
67
|
keyId: envelopeArg.keyId,
|
|
74
68
|
keyVersion: envelopeArg.keyVersion,
|
|
75
69
|
payload: envelopeArg.payload,
|
|
@@ -128,11 +122,7 @@ const parseCanonicalRecord = (
|
|
|
128
122
|
|
|
129
123
|
const parsePayload = (encodedArg: string): ICoreMailInboundCursorPayload => {
|
|
130
124
|
const value = parseCanonicalRecord(encodedArg, payloadKeys);
|
|
131
|
-
if (value.version !== 1) {
|
|
132
|
-
throw new Error('CoreMail inbound cursor version is unsupported.');
|
|
133
|
-
}
|
|
134
125
|
const payload: ICoreMailInboundCursorPayload = {
|
|
135
|
-
version: 1,
|
|
136
126
|
tenantId: requireCoreMailIdentifier(value.tenantId, 'cursor.tenantId'),
|
|
137
127
|
serviceId: requireCoreMailIdentifier(value.serviceId, 'cursor.serviceId'),
|
|
138
128
|
bindingId: requireCoreMailIdentifier(value.bindingId, 'cursor.bindingId'),
|
|
@@ -201,7 +191,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
201
191
|
}
|
|
202
192
|
const authority = requireAuthority(authorityArg);
|
|
203
193
|
const payload: ICoreMailInboundCursorPayload = {
|
|
204
|
-
version: 1,
|
|
205
194
|
...authority,
|
|
206
195
|
snapshotAt: requireCoreMailSafeInteger(
|
|
207
196
|
positionArg.snapshotAt,
|
|
@@ -224,7 +213,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
224
213
|
'utf8',
|
|
225
214
|
).toString('base64url');
|
|
226
215
|
const envelope: ICoreMailInboundCursorEnvelope = {
|
|
227
|
-
version: 1,
|
|
228
216
|
keyId: currentKey.keyId,
|
|
229
217
|
keyVersion: currentKey.version,
|
|
230
218
|
payload: encodedPayload,
|
|
@@ -250,9 +238,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
250
238
|
cursorArg,
|
|
251
239
|
);
|
|
252
240
|
const value = parseCanonicalRecord(cursor, envelopeKeys);
|
|
253
|
-
if (value.version !== 1) {
|
|
254
|
-
throw new Error('CoreMail inbound cursor version is unsupported.');
|
|
255
|
-
}
|
|
256
241
|
const now = requireCoreMailSafeInteger(nowArg, 'cursor.now');
|
|
257
242
|
const keyId = requireCoreMailIdentifier(value.keyId, 'cursor.keyId');
|
|
258
243
|
const keyVersion = requireCoreMailSafeInteger(
|
|
@@ -264,7 +249,6 @@ export class CoreMailInboundCursorCodec {
|
|
|
264
249
|
throw new Error('CoreMail inbound cursor is invalid.');
|
|
265
250
|
}
|
|
266
251
|
const envelope: ICoreMailInboundCursorEnvelope = {
|
|
267
|
-
version: 1,
|
|
268
252
|
keyId,
|
|
269
253
|
keyVersion,
|
|
270
254
|
payload: value.payload,
|
package/ts/coremail.log.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import * as plugins from './plugins.js';
|
|
2
|
+
import { commitinfo } from './00_commitinfo_data.js';
|
|
2
3
|
|
|
3
|
-
export const coreMailLogger = plugins.smartlog.Smartlog.createForCommitinfo(
|
|
4
|
-
name: '@serve.zone/coremail',
|
|
5
|
-
version: '1.0.0',
|
|
6
|
-
description:
|
|
7
|
-
'Authenticated mail persistence and delivery orchestration for serve.zone workloads.',
|
|
8
|
-
});
|
|
4
|
+
export const coreMailLogger = plugins.smartlog.Smartlog.createForCommitinfo(commitinfo);
|
|
9
5
|
|
|
10
6
|
coreMailLogger.enableConsole();
|
|
11
7
|
|
|
@@ -830,7 +830,6 @@ export const assertCoreMailSubmissionRecord = (
|
|
|
830
830
|
}
|
|
831
831
|
} else {
|
|
832
832
|
const normalizedMessage = normalizeCoreMailOutboundMessage(value.message, {
|
|
833
|
-
schemaVersion: 2,
|
|
834
833
|
bindingId: String(value.bindingId),
|
|
835
834
|
serviceId: String(value.serviceId),
|
|
836
835
|
tenantId: String(value.tenantId),
|