@serve.zone/coremail 1.1.0 → 1.2.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/changelog.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-09-15 - 1.2.0
4
+
5
+ ### Features
6
+
7
+ - move the control transport onto the mesh majors (transport)
8
+ - Raise `@api.global/typedserver` ^8.10.0 → ^11.4.1, `@api.global/typedsocket` ^5.1.1 → ^8.2.1, `@api.global/typedrequest` ^3.7.0 → ^8.0.4, `@api.global/typedrequest-interfaces` ^4.0.0 → ^7.1.0 and pin `@serve.zone/interfaces` to 30.12.0, as one coherent set. The package was the last holdout on typedsocket 5: an 8.x client rejects in `onopen` with `TypedSocketHandshakeError` unless the server answers `__typedsocket_checkVersion`, which 5.1.1 never registered, so `SzCoreMailConnector.init()` failed before sending anything and the outbound gateway link broke identically.
9
+ - Type `addHandler`'s callback as typedrequest's own `THandlerFunction`. Since typedrequest 8 both sides are wrapped in the `TReverseVirtualStreamDirections` mapped type, which does not reduce inside a generic wrapper, so a restated signature is no longer assignable. The 14 registrations are unchanged — concrete request types reduce normally.
10
+ - Add `test/test.socket.node.ts`: a real typedsocket client against a real listener, covering the version handshake, `websocketAdmission` state reaching the peer, the exact seven-key authentication envelope, session storage against the real peer, the observed failure mode of a bad credential, typed error-envelope round-tripping, and the pre-auth sweep terminating a real socket. Verified red before this change with the exact production symptom and green after. Every other suite hands the server hand-written peer literals and therefore cannot observe the transport at all — which is how the mismatch survived unnoticed.
11
+ - Record two contract facts the new coverage established: a failed workload authentication closes the socket (`peer.close(4401)` wins the race against the error) so callers see a disconnect rather than an `AUTHENTICATION_FAILED` envelope; and typed error data does survive the v8 wire intact on paths that leave the peer open.
12
+ - Add `test/readme.hints.md` with the transport background and the open platformclient follow-up. It sits under `test/` rather than the package root because npm-packlist force-includes every root `readme.*` regardless of the `files` array, and this package publishes publicly.
13
+
14
+ ### Fixes
15
+
16
+ - update test and mongo development dependencies (deps-dev)
17
+ - Update @git.zone/tstest from ^3.6.7 to 6.0.0
18
+ - Update @push.rocks/smartmongo from ^7.0.0 to 9.0.0
19
+
20
+ ### Maintenance
21
+
22
+ - Update pnpm to 12.4.0, tsbuild to 4.4.3, tsdocker to 3.5.8 and Node typings to 26.5.0 for the release.
23
+
3
24
  ## 2026-08-03 - 1.1.0
4
25
 
5
26
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/coremail',
6
- version: '1.1.0',
6
+ version: '1.2.0',
7
7
  description: 'Authenticated mail persistence and delivery orchestration for serve.zone workloads.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFGQUFxRjtDQUNuRyxDQUFBIn0=
@@ -37,5 +37,15 @@ export declare class CoreMailServer {
37
37
  }>;
38
38
  getReadiness(): Promise<ICoreMailReadiness>;
39
39
  private registerHandlers;
40
+ /**
41
+ * Register one typed handler with uniform failure redaction.
42
+ *
43
+ * `handlerArg` is typed as typedrequest's own `THandlerFunction` rather than
44
+ * a hand-written signature: since typedrequest 8 both sides are wrapped in
45
+ * the `TReverseVirtualStreamDirections` mapped type, which does not reduce
46
+ * inside a generic wrapper, so any restatement of the shape stops being
47
+ * assignable. Concrete `IReq_*` types reduce normally, which is why the call
48
+ * sites below need no change.
49
+ */
40
50
  private addHandler;
41
51
  }
@@ -299,6 +299,16 @@ export class CoreMailServer {
299
299
  return await this.inbound.acknowledge(session, requestArg);
300
300
  });
301
301
  }
302
+ /**
303
+ * Register one typed handler with uniform failure redaction.
304
+ *
305
+ * `handlerArg` is typed as typedrequest's own `THandlerFunction` rather than
306
+ * a hand-written signature: since typedrequest 8 both sides are wrapped in
307
+ * the `TReverseVirtualStreamDirections` mapped type, which does not reduce
308
+ * inside a generic wrapper, so any restatement of the shape stops being
309
+ * assignable. Concrete `IReq_*` types reduce normally, which is why the call
310
+ * sites below need no change.
311
+ */
302
312
  addHandler(methodArg, handlerArg) {
303
313
  this.router.addTypedHandler(new plugins.typedrequest.TypedHandler(methodArg, async (requestArg, toolsArg) => {
304
314
  try {
@@ -316,4 +326,4 @@ export class CoreMailServer {
316
326
  }));
317
327
  }
318
328
  }
319
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLnNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IsWUFBWSxFQUNaLDBCQUEwQixFQUMxQixrQkFBa0IsR0FDbkIsTUFBTSxtQkFBbUIsQ0FBQztBQWEzQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVF2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixRQUFpQixFQUN3QixFQUFFO0lBQzNDLElBQUksSUFBSSxHQUFlLGlCQUFpQixDQUFDO0lBQ3pDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN0QixJQUFJLFFBQVEsWUFBWSwyQkFBMkIsRUFBRSxDQUFDO1FBQ3BELElBQUksR0FBRyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO1NBQU0sSUFBSSxRQUFRLFlBQVksNkJBQTZCLEVBQUUsQ0FBQztRQUM3RCxJQUFJLEdBQUcsbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztTQUFNLElBQUksUUFBUSxZQUFZLDBCQUEwQixFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSwwQkFBMEIsRUFBRSxDQUFDO1FBQzFELE9BQU8sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixFQUFFO1lBQy9FLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxTQUFTO2dCQUNyQyxDQUFDLENBQUMsRUFBRTtnQkFDSixDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2lCLENBQUMsQ0FBQztJQUNuRSxDQUFDO1NBQU0sSUFDTCxRQUFRLFlBQVksT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFDMUUsQ0FBQztRQUNELElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7U0FBTSxJQUNMLFFBQVEsWUFBWSxLQUFLO1dBQ3RCLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztXQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDM0MsQ0FBQztRQUNELElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUM3QixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7U0FBTSxJQUNMLFFBQVEsWUFBWSxLQUFLO1dBQ3RCLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUMzQyxDQUFDO1FBQ0QsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7U0FBTSxJQUNMLFFBQVEsWUFBWSxLQUFLO1dBQ3RCLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUNyQyxDQUFDO1FBQ0QsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQ3hCLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztTQUFNLElBQ0wsUUFBUSxZQUFZLEtBQUs7V0FDdEIsQ0FDRCxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7ZUFDckMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7ZUFDM0MsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQ3hDLEVBQ0QsQ0FBQztRQUNELElBQUksR0FBRyx3QkFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLEVBQUU7UUFDL0UsSUFBSTtRQUNKLFNBQVM7S0FDb0QsQ0FBQyxDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQ2IsUUFBeUMsRUFDMUIsRUFBRTtJQUNqQixNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQWlDLENBQUM7SUFDcEUsSUFDRSxDQUFDLElBQUk7V0FDRixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUTtXQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxHQUFHLENBQUM7V0FDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVU7V0FDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFDdkMsQ0FBQztRQUNELE1BQU0sSUFBSSwyQkFBMkIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLFdBQTJELEVBQzNELFVBQXlFLEVBQ3pFLGNBQXNCLEVBQzJDLEVBQUU7SUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBR25CLENBQUM7SUFDSixLQUFLLE1BQU0sT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQ0UsT0FBTyxFQUFFLElBQUksS0FBSyxVQUFVO2VBQ3pCLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLFFBQVE7ZUFDeEMsT0FBTyxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUMsU0FBUztlQUMxQyxPQUFPLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxTQUFTO2VBQzFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssVUFBVSxDQUFDLFFBQVE7ZUFDL0MsT0FBTyxDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQ3pDLENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLFNBQVMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLO2dCQUNuQixDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ3RDLENBQUMsQ0FBQztvQkFDRSxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7b0JBQ2xDLE9BQU8sRUFBRSxPQUFPLENBQUMsaUJBQWlCO29CQUNsQyxLQUFLLEVBQUUsQ0FBQztpQkFDVCxDQUFDLENBQUM7UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUNyRCxPQUFPLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPO1dBQy9CLE9BQU8sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FDN0QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxjQUFjO0lBUU47SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFoQkgsTUFBTSxHQUVsQixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsV0FBVyxDQUFrQztJQUNyRCxpQkFBaUIsR0FBMEMsSUFBSSxDQUFDO0lBRXhFLFlBQ21CLE1BQXVCLEVBQ3ZCLFFBQXVDLEVBQ3ZDLE9BQXdCLEVBQ3hCLFNBQWtDLEVBQ2xDLFlBQXlDLEVBQ3pDLElBQWtCLEVBQ2xCLFdBQXNDLEVBQ3RDLE9BQStCLEVBQy9CLE9BQXdCLEVBQ3hCLE1BQW9CLElBQUksQ0FBQyxHQUFHO1FBVDVCLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQStCO1FBQ3ZDLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUE2QjtRQUN6QyxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQUN0QyxZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUF5QjtRQUU3QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDckQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLElBQUksRUFBRSxLQUFLO1lBQ1gsbUJBQW1CLEVBQUUsUUFBUTtZQUM3QixpQkFBaUIsRUFBRSxNQUFNO1lBQ3pCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLGNBQWMsRUFBRSxDQUFDLEdBQUcsTUFBTTtZQUMxQix3QkFBd0IsRUFDdEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CO1lBQ3JFLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsV0FBVyxFQUFFLEtBQUs7WUFDbEIsUUFBUSxFQUFFLENBQUM7b0JBQ1QsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLEtBQUssRUFBRTt3QkFDTCxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7d0JBQzNCLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQzt3QkFDbkIscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUM7cUJBQ25DO29CQUNELGdCQUFnQixFQUFFLEtBQUs7b0JBQ3ZCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNqQyxJQUFJLEVBQUUsS0FBSztvQkFDWCxPQUFPLEVBQUUsSUFBSTtvQkFDYiwyQkFBMkIsRUFBRSxLQUFLO29CQUNsQyxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO3dCQUNqQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7NEJBQ2xDLE9BQU8sSUFBSSxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQ3BELENBQUM7d0JBQ0QsVUFBVSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7d0JBQ2xFLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQ0QsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTt3QkFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNyRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7NEJBQ3JCLE9BQU8sZ0JBQWdCLENBQUM7d0JBQzFCLENBQUM7d0JBQ0QsSUFDRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDOytCQUMxRCxVQUFVLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFDOUIsQ0FBQzs0QkFDRCxPQUFPLElBQUksUUFBUSxDQUNqQixVQUFVLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQ3BFO2dDQUNFLE1BQU0sRUFBRSxHQUFHO2dDQUNYLE9BQU8sRUFBRTtvQ0FDUCxjQUFjLEVBQUUsa0JBQWtCO29DQUNsQyxlQUFlLEVBQUUsVUFBVTtpQ0FDNUI7NkJBQ0YsQ0FDRixDQUFDO3dCQUNKLENBQUM7d0JBQ0QsSUFDRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDOytCQUMxRCxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFDL0IsQ0FBQzs0QkFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzs0QkFDNUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7NEJBQ3RELE9BQU8sSUFBSSxRQUFRLENBQ2pCLFVBQVUsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQy9EO2dDQUNFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRztnQ0FDekIsT0FBTyxFQUFFO29DQUNQLGNBQWMsRUFBRSxrQkFBa0I7b0NBQ2xDLGVBQWUsRUFBRSxVQUFVO2lDQUM1Qjs2QkFDRixDQUNGLENBQUM7d0JBQ0osQ0FBQzt3QkFDRCxPQUFPLElBQUksQ0FBQztvQkFDZCxDQUFDO29CQUNELGVBQWUsRUFBRTt3QkFDZixhQUFhLEVBQUUsTUFBTTt3QkFDckIsbUJBQW1CLEVBQUUsSUFBSTt3QkFDekIsY0FBYyxFQUFFLGFBQWE7d0JBQzdCLGlCQUFpQixFQUFFLEVBQUU7d0JBQ3JCLHVCQUF1QixFQUFFLGFBQWE7d0JBQ3RDLHlCQUF5QixFQUFFLGFBQWE7cUJBQ3pDO2lCQUNGLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN2QixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztnQkFDekUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztnQkFDeEUsSUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDO3VCQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLEVBQ3RELENBQUM7b0JBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLFVBQXlFLEVBQ3pFLGNBQXNCO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sMkJBQTJCLENBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDcEUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQXlDLENBQzdFLEVBQ0QsVUFBVSxFQUNWLGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztpQkFDL0MsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2lCQUNwQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztTQUM1RCxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRO1lBQ1IsYUFBYTtZQUNiLFdBQVcsRUFBRSxhQUFhO1lBQzFCLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtTQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUViLDZCQUE2QixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdEUsT0FBTztnQkFDTCxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxPQUFPLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUNuQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO2FBQzdDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsOEJBQThCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUMvRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25GLE9BQU87Z0JBQ0wsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtnQkFDNUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2pELHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxzQkFBc0I7YUFDdkQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FFYixtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FFYiwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzVELElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUViLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsbUNBQW1DLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNwRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FDakUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUNoQixtQ0FBbUMsQ0FDcEMsQ0FBQztZQUNGLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FFYixtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3BFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQ3hELE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFDaEIsbUNBQW1DLENBQ3BDLENBQUM7WUFDRixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUViLG9DQUFvQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDckUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FDeEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUNoQixvQ0FBb0MsQ0FDckMsQ0FBQztZQUNGLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNyRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLG9DQUFvQyxDQUNyQyxDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsK0JBQStCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNoRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLCtCQUErQixDQUNoQyxDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsK0JBQStCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNoRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLCtCQUErQixDQUNoQyxDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUM5RCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLDZCQUE2QixDQUM5QixDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsOEJBQThCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUMvRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLDhCQUE4QixDQUMvQixDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBRWIsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNyRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLG9DQUFvQyxDQUNyQyxDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVLENBR2hCLFNBQTZCLEVBQzdCLFVBR2tDO1FBRWxDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQy9ELFNBQVMsRUFDVCxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksS0FBSyxpQkFBaUIsRUFBRSxDQUFDO29CQUNwRCxNQUFNLGtCQUFrQixDQUFDLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUU7d0JBQ3RFLE1BQU0sRUFBRSxTQUFTO3FCQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2dCQUNELE1BQU0sU0FBUyxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
329
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLnNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IsWUFBWSxFQUNaLDBCQUEwQixFQUMxQixrQkFBa0IsR0FDbkIsTUFBTSxtQkFBbUIsQ0FBQztBQWEzQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVF2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixRQUFpQixFQUN3QixFQUFFO0lBQzNDLElBQUksSUFBSSxHQUFlLGlCQUFpQixDQUFDO0lBQ3pDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN0QixJQUFJLFFBQVEsWUFBWSwyQkFBMkIsRUFBRSxDQUFDO1FBQ3BELElBQUksR0FBRyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO1NBQU0sSUFBSSxRQUFRLFlBQVksNkJBQTZCLEVBQUUsQ0FBQztRQUM3RCxJQUFJLEdBQUcsbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztTQUFNLElBQUksUUFBUSxZQUFZLDBCQUEwQixFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSwwQkFBMEIsRUFBRSxDQUFDO1FBQzFELE9BQU8sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixFQUFFO1lBQy9FLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksS0FBSyxTQUFTO2dCQUNyQyxDQUFDLENBQUMsRUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/coremail",
3
- "version": "1.1.0",
3
+ "version": "1.2.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,24 +8,24 @@
8
8
  "author": "Task Venture Capital GmbH",
9
9
  "license": "MIT",
10
10
  "devDependencies": {
11
- "@git.zone/tsbuild": "^4.4.2",
12
- "@git.zone/tsdocker": "^3.4.1",
11
+ "@git.zone/tsbuild": "^4.4.3",
12
+ "@git.zone/tsdocker": "^3.5.8",
13
13
  "@git.zone/tsrun": "^2.0.6",
14
- "@git.zone/tstest": "^3.6.7",
14
+ "@git.zone/tstest": "6.0.0",
15
15
  "@git.zone/tswatch": "^3.3.5",
16
- "@push.rocks/smartmongo": "^7.0.0",
17
- "@types/node": "^26.1.1"
16
+ "@push.rocks/smartmongo": "9.0.0",
17
+ "@types/node": "26.5.0"
18
18
  },
19
19
  "dependencies": {
20
- "@api.global/typedrequest": "^3.7.0",
21
- "@api.global/typedrequest-interfaces": "^4.0.0",
22
- "@api.global/typedserver": "^8.10.0",
23
- "@api.global/typedsocket": "^5.1.1",
20
+ "@api.global/typedrequest": "^8.0.4",
21
+ "@api.global/typedrequest-interfaces": "^7.1.0",
22
+ "@api.global/typedserver": "^11.4.1",
23
+ "@api.global/typedsocket": "^8.2.1",
24
24
  "@push.rocks/projectinfo": "^5.1.0",
25
25
  "@push.rocks/smartbucket": "^4.11.0",
26
26
  "@push.rocks/smartdata": "^10.4.0",
27
27
  "@push.rocks/smartlog": "^3.2.2",
28
- "@serve.zone/interfaces": "^23.0.4",
28
+ "@serve.zone/interfaces": "30.12.0",
29
29
  "argon2": "^0.45.1"
30
30
  },
31
31
  "files": [
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/coremail',
6
- version: '1.1.0',
6
+ version: '1.2.0',
7
7
  description: 'Authenticated mail persistence and delivery orchestration for serve.zone workloads.'
8
8
  }
@@ -426,14 +426,21 @@ export class CoreMailServer {
426
426
  });
427
427
  }
428
428
 
429
+ /**
430
+ * Register one typed handler with uniform failure redaction.
431
+ *
432
+ * `handlerArg` is typed as typedrequest's own `THandlerFunction` rather than
433
+ * a hand-written signature: since typedrequest 8 both sides are wrapped in
434
+ * the `TReverseVirtualStreamDirections` mapped type, which does not reduce
435
+ * inside a generic wrapper, so any restatement of the shape stops being
436
+ * assignable. Concrete `IReq_*` types reduce normally, which is why the call
437
+ * sites below need no change.
438
+ */
429
439
  private addHandler<
430
440
  TRequest extends plugins.typedrequestInterfaces.ITypedRequest,
431
441
  >(
432
442
  methodArg: TRequest['method'],
433
- handlerArg: (
434
- requestArg: TRequest['request'],
435
- toolsArg: ICoreMailTypedTools | undefined,
436
- ) => Promise<TRequest['response']>,
443
+ handlerArg: plugins.typedrequest.THandlerFunction<TRequest>,
437
444
  ): void {
438
445
  this.router.addTypedHandler(new plugins.typedrequest.TypedHandler<TRequest>(
439
446
  methodArg,