@futdevpro/nts-dynamo 1.15.155 → 1.15.157

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 (48) hide show
  1. package/README.md +10 -10
  2. package/__documentations/2026-08-22-bfr-ctm-018-content-free-endpoint-errors.md +54 -0
  3. package/__documentations/2026-08-22-bfr-ctm-020-content-free-request-telemetry.md +65 -0
  4. package/__documentations/2026-08-22-content-free-process-error-boundary.md +21 -1
  5. package/build/_models/control-models/endpoint-params.control-model.d.ts +6 -0
  6. package/build/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  7. package/build/_models/control-models/endpoint-params.control-model.js +71 -146
  8. package/build/_models/control-models/endpoint-params.control-model.js.map +1 -1
  9. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts +10 -0
  10. package/build/_models/interfaces/request-telemetry-settings.interface.d.ts.map +1 -0
  11. package/build/_models/interfaces/request-telemetry-settings.interface.js +3 -0
  12. package/build/_models/interfaces/request-telemetry-settings.interface.js.map +1 -0
  13. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts +29 -0
  14. package/build/_models/interfaces/request-telemetry-snapshot.interface.d.ts.map +1 -0
  15. package/build/_models/interfaces/request-telemetry-snapshot.interface.js +3 -0
  16. package/build/_models/interfaces/request-telemetry-snapshot.interface.js.map +1 -0
  17. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts +1 -0
  18. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.d.ts.map +1 -1
  19. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js +1 -0
  20. package/build/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.js.map +1 -1
  21. package/build/_services/core/request-telemetry.control-service.d.ts +51 -0
  22. package/build/_services/core/request-telemetry.control-service.d.ts.map +1 -0
  23. package/build/_services/core/request-telemetry.control-service.js +286 -0
  24. package/build/_services/core/request-telemetry.control-service.js.map +1 -0
  25. package/build/_services/route/routing-module.service.d.ts.map +1 -1
  26. package/build/_services/route/routing-module.service.js +13 -10
  27. package/build/_services/route/routing-module.service.js.map +1 -1
  28. package/build/_services/server/app.server.d.ts +5 -0
  29. package/build/_services/server/app.server.d.ts.map +1 -1
  30. package/build/_services/server/app.server.js +13 -0
  31. package/build/_services/server/app.server.js.map +1 -1
  32. package/build/index.d.ts +3 -0
  33. package/build/index.d.ts.map +1 -1
  34. package/build/index.js +3 -0
  35. package/build/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/_models/control-models/endpoint-params.control-model.spec.ts +87 -2
  38. package/src/_models/control-models/endpoint-params.control-model.ts +93 -182
  39. package/src/_models/interfaces/request-telemetry-settings.interface.ts +9 -0
  40. package/src/_models/interfaces/request-telemetry-snapshot.interface.ts +30 -0
  41. package/src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts +1 -0
  42. package/src/_services/core/request-telemetry.control-service.spec.ts +217 -0
  43. package/src/_services/core/request-telemetry.control-service.ts +381 -0
  44. package/src/_services/route/routing-module.service.ts +27 -18
  45. package/src/_services/server/app.server.ts +29 -9
  46. package/src/_services/shared.static-service.spec.ts +57 -57
  47. package/src/_services/shared.static-service.ts +48 -48
  48. package/src/index.ts +5 -2
@@ -0,0 +1,29 @@
1
+ /** One bounded duration bucket in the content-free request telemetry snapshot. */
2
+ export interface DyNTS_RequestDurationBucket_Interface {
3
+ upperBoundMs: number | null;
4
+ count: number;
5
+ }
6
+ /** One declared route-template aggregate. No concrete URL or request value is retained. */
7
+ export interface DyNTS_RequestRouteMetric_Interface {
8
+ method: string;
9
+ routeTemplate: string;
10
+ count: number;
11
+ abortedCount: number;
12
+ serverErrorCount: number;
13
+ totalDurationMs: number;
14
+ maxDurationMs: number;
15
+ }
16
+ /** Synchronous, immutable-by-copy snapshot of the event-driven request counters. */
17
+ export interface DyNTS_RequestTelemetrySnapshot_Interface {
18
+ contractVersion: 'dynts-request-telemetry/1';
19
+ correlationHeader: 'X-Correlation-Id';
20
+ requestsStarted: number;
21
+ requestsCompleted: number;
22
+ requestsAborted: number;
23
+ inFlight: number;
24
+ droppedRouteTemplates: number;
25
+ statusClasses: Record<string, number>;
26
+ durationBuckets: DyNTS_RequestDurationBucket_Interface[];
27
+ routes: DyNTS_RequestRouteMetric_Interface[];
28
+ }
29
+ //# sourceMappingURL=request-telemetry-snapshot.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-telemetry-snapshot.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/request-telemetry-snapshot.interface.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,WAAW,qCAAqC;IACpD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2FAA2F;AAC3F,MAAM,WAAW,kCAAkC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,wCAAwC;IACvD,eAAe,EAAE,2BAA2B,CAAC;IAC7C,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,EAAE,qCAAqC,EAAE,CAAC;IACzD,MAAM,EAAE,kCAAkC,EAAE,CAAC;CAC9C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=request-telemetry-snapshot.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-telemetry-snapshot.interface.js","sourceRoot":"","sources":["../../../src/_models/interfaces/request-telemetry-snapshot.interface.ts"],"names":[],"mappings":""}
@@ -5,6 +5,7 @@ export declare enum DyNTS_SafeDiagnosticStage_Type {
5
5
  databaseConnect = "database-connect",
6
6
  databaseRuntime = "database-runtime",
7
7
  eventLoopDiagnostic = "event-loop-diagnostic",
8
+ endpoint = "endpoint",
8
9
  expressFallback = "express-fallback",
9
10
  globalErrorHandler = "global-error-handler",
10
11
  httpServer = "http-server",
@@ -1 +1 @@
1
- {"version":3,"file":"safe-diagnostic-stage.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oBAAY,8BAA8B;IACxC,SAAS,cAAc;IACvB,uBAAuB,8BAA8B;IACrD,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,mBAAmB,0BAA0B;IAC7C,eAAe,qBAAqB;IACpC,kBAAkB,yBAAyB;IAC3C,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,mBAAmB,0BAA0B;IAC7C,WAAW,iBAAiB;IAC5B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,kBAAkB,wBAAwB;CAC3C"}
1
+ {"version":3,"file":"safe-diagnostic-stage.type-enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oBAAY,8BAA8B;IACxC,SAAS,cAAc;IACvB,uBAAuB,8BAA8B;IACrD,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,mBAAmB,0BAA0B;IAC7C,QAAQ,aAAa;IACrB,eAAe,qBAAqB;IACpC,kBAAkB,yBAAyB;IAC3C,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,WAAW,iBAAiB;IAC5B,mBAAmB,0BAA0B;IAC7C,WAAW,iBAAiB;IAC5B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,kBAAkB,wBAAwB;CAC3C"}
@@ -9,6 +9,7 @@ var DyNTS_SafeDiagnosticStage_Type;
9
9
  DyNTS_SafeDiagnosticStage_Type["databaseConnect"] = "database-connect";
10
10
  DyNTS_SafeDiagnosticStage_Type["databaseRuntime"] = "database-runtime";
11
11
  DyNTS_SafeDiagnosticStage_Type["eventLoopDiagnostic"] = "event-loop-diagnostic";
12
+ DyNTS_SafeDiagnosticStage_Type["endpoint"] = "endpoint";
12
13
  DyNTS_SafeDiagnosticStage_Type["expressFallback"] = "express-fallback";
13
14
  DyNTS_SafeDiagnosticStage_Type["globalErrorHandler"] = "global-error-handler";
14
15
  DyNTS_SafeDiagnosticStage_Type["httpServer"] = "http-server";
@@ -1 +1 @@
1
- {"version":3,"file":"safe-diagnostic-stage.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,IAAY,8BAiBX;AAjBD,WAAY,8BAA8B;IACxC,yDAAuB,CAAA;IACvB,uFAAqD,CAAA;IACrD,sEAAoC,CAAA;IACpC,sEAAoC,CAAA;IACpC,+EAA6C,CAAA;IAC7C,sEAAoC,CAAA;IACpC,6EAA2C,CAAA;IAC3C,4DAA0B,CAAA;IAC1B,8DAA4B,CAAA;IAC5B,8DAA4B,CAAA;IAC5B,+EAA6C,CAAA;IAC7C,8DAA4B,CAAA;IAC5B,yDAAuB,CAAA;IACvB,yDAAuB,CAAA;IACvB,qDAAmB,CAAA;IACnB,4EAA0C,CAAA;AAC5C,CAAC,EAjBW,8BAA8B,8CAA9B,8BAA8B,QAiBzC"}
1
+ {"version":3,"file":"safe-diagnostic-stage.type-enum.js","sourceRoot":"","sources":["../../../../src/_modules/server/safe-diagnostic/safe-diagnostic-stage.type-enum.ts"],"names":[],"mappings":";;;AAAA,gEAAgE;AAChE,IAAY,8BAkBX;AAlBD,WAAY,8BAA8B;IACxC,yDAAuB,CAAA;IACvB,uFAAqD,CAAA;IACrD,sEAAoC,CAAA;IACpC,sEAAoC,CAAA;IACpC,+EAA6C,CAAA;IAC7C,uDAAqB,CAAA;IACrB,sEAAoC,CAAA;IACpC,6EAA2C,CAAA;IAC3C,4DAA0B,CAAA;IAC1B,8DAA4B,CAAA;IAC5B,8DAA4B,CAAA;IAC5B,+EAA6C,CAAA;IAC7C,8DAA4B,CAAA;IAC5B,yDAAuB,CAAA;IACvB,yDAAuB,CAAA;IACvB,qDAAmB,CAAA;IACnB,4EAA0C,CAAA;AAC5C,CAAC,EAlBW,8BAA8B,8CAA9B,8BAA8B,QAkBzC"}
@@ -0,0 +1,51 @@
1
+ import { Request, RequestHandler } from 'express';
2
+ import { DyNTS_RequestTelemetry_Settings } from '../../_models/interfaces/request-telemetry-settings.interface';
3
+ import { DyNTS_RequestTelemetrySnapshot_Interface } from '../../_models/interfaces/request-telemetry-snapshot.interface';
4
+ /**
5
+ * Event-driven, content-free request correlation and aggregate metrics.
6
+ *
7
+ * The service never reads or stores URL, query, headers, body, IP, user agent, account identity or error content.
8
+ * Route labels can only come from the framework's declared route templates. Caller-provided correlation values are
9
+ * ignored and replaced with a server-generated UUID.
10
+ */
11
+ export declare class DyNTS_RequestTelemetry_ControlService {
12
+ private static instance;
13
+ /** Returns the process-wide request telemetry accumulator used by open and secure Express applications. */
14
+ static getInstance(): DyNTS_RequestTelemetry_ControlService;
15
+ private settings;
16
+ private configurationFingerprint;
17
+ private requestStates;
18
+ private readonly routeMetrics;
19
+ private readonly retainedRouteTemplates;
20
+ private durationCounts;
21
+ private overflowDurationCount;
22
+ private readonly statusClassCounts;
23
+ private requestsStarted;
24
+ private requestsCompleted;
25
+ private requestsAborted;
26
+ private inFlight;
27
+ private droppedRouteTemplates;
28
+ private constructor();
29
+ /** Installs one immutable configuration; repeated identical calls are idempotent. */
30
+ configure(settings: DyNTS_RequestTelemetry_Settings): void;
31
+ /** Returns the early Express middleware that creates correlation and completion listeners. */
32
+ createMiddleware(): RequestHandler;
33
+ /** Returns a route-local middleware that labels only a framework-declared route template. */
34
+ identifyRoute(routeTemplate: string): RequestHandler;
35
+ /** Returns the generated correlation ID for internal error/audit joins without reading request headers. */
36
+ getCorrelationId(req: Request): string | undefined;
37
+ /** Returns a stable copy of all bounded aggregate counters. */
38
+ snapshot(): DyNTS_RequestTelemetrySnapshot_Interface;
39
+ /** Test-only reset for the process-wide singleton. */
40
+ _resetForTesting(): void;
41
+ private beginRequest;
42
+ private completeRequest;
43
+ private recordDuration;
44
+ private recordStatusClass;
45
+ private recordRouteMetric;
46
+ private normalizeRouteTemplate;
47
+ private resolveSettings;
48
+ private safeIncrement;
49
+ private safeAdd;
50
+ }
51
+ //# sourceMappingURL=request-telemetry.control-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-telemetry.control-service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/request-telemetry.control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,OAAO,EAAE,cAAc,EAAY,MAAM,SAAS,CAAC;AAG1E,OAAO,EACL,+BAA+B,EAChC,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAGL,wCAAwC,EACzC,MAAM,+DAA+D,CAAC;AAiCvE;;;;;;GAMG;AACH,qBAAa,qCAAqC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwC;IAE/D,2GAA2G;WAC7F,WAAW,IAAI,qCAAqC;IAQlE,OAAO,CAAC,QAAQ,CAA8E;IAC9F,OAAO,CAAC,wBAAwB,CAAuB;IACvD,OAAO,CAAC,aAAa,CAA0E;IAC/F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmE;IAChG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA0B;IACjE,OAAO,CAAC,cAAc,CAA4E;IAClG,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAOhC;IACF,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,qBAAqB,CAAa;IAE1C,OAAO;IAEP,qFAAqF;IAC9E,SAAS,CAAC,QAAQ,EAAE,+BAA+B,GAAG,IAAI;IAiBjE,8FAA8F;IACvF,gBAAgB,IAAI,cAAc;IAkBzC,6FAA6F;IACtF,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc;IAc3D,2GAA2G;IACpG,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAIzD,+DAA+D;IACxD,QAAQ,IAAI,wCAAwC;IA8B3D,sDAAsD;IAC/C,gBAAgB,IAAI,IAAI;IAkB/B,OAAO,CAAC,YAAY;IAsDpB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,OAAO;CAGhB"}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_RequestTelemetry_ControlService = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const app_version_header_util_1 = require("../../_collections/app-version-header.util");
6
+ const correlationHeader = 'X-Correlation-Id';
7
+ const contractVersion = 'dynts-request-telemetry/1';
8
+ const defaultDurationBuckets = [25, 100, 250, 1000, 5000];
9
+ const defaultMaxRouteCardinality = 128;
10
+ const otherRouteTemplate = '__other__';
11
+ const unmatchedRouteTemplate = '__unmatched__';
12
+ const allowedMethods = new Set(['DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT']);
13
+ const routeTemplatePattern = /^\/[A-Za-z0-9_:/.*-]{0,159}$/;
14
+ /**
15
+ * Event-driven, content-free request correlation and aggregate metrics.
16
+ *
17
+ * The service never reads or stores URL, query, headers, body, IP, user agent, account identity or error content.
18
+ * Route labels can only come from the framework's declared route templates. Caller-provided correlation values are
19
+ * ignored and replaced with a server-generated UUID.
20
+ */
21
+ class DyNTS_RequestTelemetry_ControlService {
22
+ static instance;
23
+ /** Returns the process-wide request telemetry accumulator used by open and secure Express applications. */
24
+ static getInstance() {
25
+ if (!DyNTS_RequestTelemetry_ControlService.instance) {
26
+ DyNTS_RequestTelemetry_ControlService.instance = new DyNTS_RequestTelemetry_ControlService();
27
+ }
28
+ return DyNTS_RequestTelemetry_ControlService.instance;
29
+ }
30
+ settings = this.resolveSettings({});
31
+ configurationFingerprint = null;
32
+ requestStates = new WeakMap();
33
+ routeMetrics = new Map();
34
+ retainedRouteTemplates = new Set();
35
+ durationCounts = this.settings.durationBucketUpperBoundsMs.map(() => 0);
36
+ overflowDurationCount = 0;
37
+ statusClassCounts = {
38
+ '1xx': 0,
39
+ '2xx': 0,
40
+ '3xx': 0,
41
+ '4xx': 0,
42
+ '5xx': 0,
43
+ other: 0,
44
+ };
45
+ requestsStarted = 0;
46
+ requestsCompleted = 0;
47
+ requestsAborted = 0;
48
+ inFlight = 0;
49
+ droppedRouteTemplates = 0;
50
+ constructor() { }
51
+ /** Installs one immutable configuration; repeated identical calls are idempotent. */
52
+ configure(settings) {
53
+ const resolved = this.resolveSettings(settings);
54
+ const fingerprint = JSON.stringify(resolved);
55
+ if (this.configurationFingerprint && this.configurationFingerprint !== fingerprint) {
56
+ throw new Error('DYNTS|REQUEST_TELEMETRY|CONFIGURATION_CONFLICT');
57
+ }
58
+ if (this.configurationFingerprint === fingerprint) {
59
+ return;
60
+ }
61
+ this.settings = resolved;
62
+ this.configurationFingerprint = fingerprint;
63
+ this.durationCounts = resolved.durationBucketUpperBoundsMs.map(() => 0);
64
+ }
65
+ /** Returns the early Express middleware that creates correlation and completion listeners. */
66
+ createMiddleware() {
67
+ return (req, res, next) => {
68
+ if (!this.settings.enabled) {
69
+ next();
70
+ return;
71
+ }
72
+ try {
73
+ this.beginRequest(req, res);
74
+ }
75
+ catch {
76
+ // Telemetry is observation-only and must never change application response semantics.
77
+ }
78
+ next();
79
+ };
80
+ }
81
+ /** Returns a route-local middleware that labels only a framework-declared route template. */
82
+ identifyRoute(routeTemplate) {
83
+ const safeRouteTemplate = this.normalizeRouteTemplate(routeTemplate);
84
+ return (req, _res, next) => {
85
+ const state = this.requestStates.get(req);
86
+ if (state) {
87
+ state.routeTemplate = safeRouteTemplate;
88
+ }
89
+ next();
90
+ };
91
+ }
92
+ /** Returns the generated correlation ID for internal error/audit joins without reading request headers. */
93
+ getCorrelationId(req) {
94
+ return this.requestStates.get(req)?.correlationId;
95
+ }
96
+ /** Returns a stable copy of all bounded aggregate counters. */
97
+ snapshot() {
98
+ const durationBuckets = this.settings.durationBucketUpperBoundsMs.map((upperBoundMs, index) => ({
99
+ upperBoundMs: upperBoundMs,
100
+ count: this.durationCounts[index],
101
+ }));
102
+ durationBuckets.push({ upperBoundMs: null, count: this.overflowDurationCount });
103
+ return {
104
+ contractVersion: contractVersion,
105
+ correlationHeader: correlationHeader,
106
+ requestsStarted: this.requestsStarted,
107
+ requestsCompleted: this.requestsCompleted,
108
+ requestsAborted: this.requestsAborted,
109
+ inFlight: this.inFlight,
110
+ droppedRouteTemplates: this.droppedRouteTemplates,
111
+ statusClasses: { ...this.statusClassCounts },
112
+ durationBuckets: durationBuckets,
113
+ routes: [...this.routeMetrics.values()]
114
+ .map((metric) => ({
115
+ ...metric,
116
+ }))
117
+ .sort((first, second) => `${first.method}:${first.routeTemplate}`.localeCompare(`${second.method}:${second.routeTemplate}`)),
118
+ };
119
+ }
120
+ /** Test-only reset for the process-wide singleton. */
121
+ _resetForTesting() {
122
+ this.settings = this.resolveSettings({});
123
+ this.configurationFingerprint = null;
124
+ this.requestStates = new WeakMap();
125
+ this.routeMetrics.clear();
126
+ this.retainedRouteTemplates.clear();
127
+ this.durationCounts = this.settings.durationBucketUpperBoundsMs.map(() => 0);
128
+ this.overflowDurationCount = 0;
129
+ Object.keys(this.statusClassCounts).forEach((key) => {
130
+ this.statusClassCounts[key] = 0;
131
+ });
132
+ this.requestsStarted = 0;
133
+ this.requestsCompleted = 0;
134
+ this.requestsAborted = 0;
135
+ this.inFlight = 0;
136
+ this.droppedRouteTemplates = 0;
137
+ }
138
+ beginRequest(req, res) {
139
+ const state = {
140
+ startedAtMs: Date.now(),
141
+ routeTemplate: unmatchedRouteTemplate,
142
+ correlationId: (0, crypto_1.randomUUID)(),
143
+ };
144
+ const existingExposeHeader = res.getHeader('Access-Control-Expose-Headers');
145
+ res.setHeader(correlationHeader, state.correlationId);
146
+ res.setHeader('Access-Control-Expose-Headers', (0, app_version_header_util_1.DyNTS_resolveExposeHeaders)(typeof existingExposeHeader === 'string' ? existingExposeHeader : undefined, correlationHeader));
147
+ let settled = false;
148
+ /** Settles one response exactly once and removes both lifecycle listeners. */
149
+ const settle = (aborted) => {
150
+ if (settled) {
151
+ return;
152
+ }
153
+ settled = true;
154
+ res.off('finish', onFinish);
155
+ res.off('close', onClose);
156
+ try {
157
+ this.completeRequest(req, res, aborted);
158
+ }
159
+ catch {
160
+ // Telemetry is observation-only and must never surface a response-lifecycle failure.
161
+ }
162
+ };
163
+ /** Records a normally completed response. */
164
+ const onFinish = () => settle(false);
165
+ /** Records a connection closed before a normal finish. */
166
+ const onClose = () => settle(true);
167
+ try {
168
+ res.once('finish', onFinish);
169
+ res.once('close', onClose);
170
+ }
171
+ catch (error) {
172
+ res.off('finish', onFinish);
173
+ res.off('close', onClose);
174
+ throw error;
175
+ }
176
+ this.requestStates.set(req, state);
177
+ this.requestsStarted = this.safeIncrement(this.requestsStarted);
178
+ this.inFlight = this.safeIncrement(this.inFlight);
179
+ }
180
+ completeRequest(req, res, aborted) {
181
+ const state = this.requestStates.get(req);
182
+ if (!state) {
183
+ return;
184
+ }
185
+ this.requestStates.delete(req);
186
+ this.inFlight = Math.max(0, this.inFlight - 1);
187
+ const durationMs = Math.max(0, Date.now() - state.startedAtMs);
188
+ this.recordDuration(durationMs);
189
+ if (aborted) {
190
+ this.requestsAborted = this.safeIncrement(this.requestsAborted);
191
+ }
192
+ else {
193
+ this.requestsCompleted = this.safeIncrement(this.requestsCompleted);
194
+ this.recordStatusClass(res.statusCode);
195
+ }
196
+ this.recordRouteMetric({
197
+ method: req.method,
198
+ routeTemplate: state.routeTemplate,
199
+ statusCode: res.statusCode,
200
+ durationMs: durationMs,
201
+ aborted: aborted,
202
+ });
203
+ }
204
+ recordDuration(durationMs) {
205
+ const bucketIndex = this.settings.durationBucketUpperBoundsMs.findIndex((upperBoundMs) => durationMs <= upperBoundMs);
206
+ if (bucketIndex === -1) {
207
+ this.overflowDurationCount = this.safeIncrement(this.overflowDurationCount);
208
+ return;
209
+ }
210
+ this.durationCounts[bucketIndex] = this.safeIncrement(this.durationCounts[bucketIndex]);
211
+ }
212
+ recordStatusClass(statusCode) {
213
+ const statusClass = Number.isInteger(statusCode) && statusCode >= 100 && statusCode <= 599
214
+ ? `${Math.floor(statusCode / 100)}xx`
215
+ : 'other';
216
+ this.statusClassCounts[statusClass] = this.safeIncrement(this.statusClassCounts[statusClass]);
217
+ }
218
+ recordRouteMetric(observation) {
219
+ const safeMethod = allowedMethods.has(observation.method) ? observation.method : 'OTHER';
220
+ let safeRouteTemplate = observation.routeTemplate;
221
+ let routeKey = `${safeMethod}:${safeRouteTemplate}`;
222
+ let metric = this.routeMetrics.get(routeKey);
223
+ if (safeRouteTemplate === otherRouteTemplate) {
224
+ this.droppedRouteTemplates = this.safeIncrement(this.droppedRouteTemplates);
225
+ }
226
+ else if (safeRouteTemplate !== unmatchedRouteTemplate && !this.retainedRouteTemplates.has(safeRouteTemplate)) {
227
+ if (this.retainedRouteTemplates.size >= this.settings.maxRouteCardinality) {
228
+ this.droppedRouteTemplates = this.safeIncrement(this.droppedRouteTemplates);
229
+ safeRouteTemplate = otherRouteTemplate;
230
+ routeKey = `${safeMethod}:${safeRouteTemplate}`;
231
+ metric = this.routeMetrics.get(routeKey);
232
+ }
233
+ else {
234
+ this.retainedRouteTemplates.add(safeRouteTemplate);
235
+ }
236
+ }
237
+ if (!metric) {
238
+ metric = {
239
+ method: safeMethod,
240
+ routeTemplate: safeRouteTemplate,
241
+ count: 0,
242
+ abortedCount: 0,
243
+ serverErrorCount: 0,
244
+ totalDurationMs: 0,
245
+ maxDurationMs: 0,
246
+ };
247
+ this.routeMetrics.set(routeKey, metric);
248
+ }
249
+ metric.count = this.safeIncrement(metric.count);
250
+ metric.abortedCount = observation.aborted ? this.safeIncrement(metric.abortedCount) : metric.abortedCount;
251
+ metric.serverErrorCount = !observation.aborted && observation.statusCode >= 500 && observation.statusCode <= 599
252
+ ? this.safeIncrement(metric.serverErrorCount)
253
+ : metric.serverErrorCount;
254
+ metric.totalDurationMs = this.safeAdd(metric.totalDurationMs, observation.durationMs);
255
+ metric.maxDurationMs = Math.max(metric.maxDurationMs, observation.durationMs);
256
+ }
257
+ normalizeRouteTemplate(routeTemplate) {
258
+ return routeTemplatePattern.test(routeTemplate) ? routeTemplate : otherRouteTemplate;
259
+ }
260
+ resolveSettings(settings) {
261
+ const maxRouteCardinality = settings.maxRouteCardinality ?? defaultMaxRouteCardinality;
262
+ const durationBucketUpperBoundsMs = settings.durationBucketUpperBoundsMs ?? defaultDurationBuckets;
263
+ if (!Number.isInteger(maxRouteCardinality) || maxRouteCardinality < 1 || maxRouteCardinality > 1000) {
264
+ throw new Error('DYNTS|REQUEST_TELEMETRY|MAX_ROUTE_CARDINALITY_INVALID');
265
+ }
266
+ if (!durationBucketUpperBoundsMs.length ||
267
+ durationBucketUpperBoundsMs.length > 16 ||
268
+ durationBucketUpperBoundsMs.some((value) => !Number.isInteger(value) || value < 1 || value > 3_600_000) ||
269
+ durationBucketUpperBoundsMs.some((value, index) => index > 0 && value <= durationBucketUpperBoundsMs[index - 1])) {
270
+ throw new Error('DYNTS|REQUEST_TELEMETRY|DURATION_BUCKETS_INVALID');
271
+ }
272
+ return {
273
+ enabled: settings.enabled === true,
274
+ maxRouteCardinality: maxRouteCardinality,
275
+ durationBucketUpperBoundsMs: [...durationBucketUpperBoundsMs],
276
+ };
277
+ }
278
+ safeIncrement(value) {
279
+ return value >= Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : value + 1;
280
+ }
281
+ safeAdd(first, second) {
282
+ return first >= Number.MAX_SAFE_INTEGER - second ? Number.MAX_SAFE_INTEGER : first + second;
283
+ }
284
+ }
285
+ exports.DyNTS_RequestTelemetry_ControlService = DyNTS_RequestTelemetry_ControlService;
286
+ //# sourceMappingURL=request-telemetry.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-telemetry.control-service.js","sourceRoot":"","sources":["../../../src/_services/core/request-telemetry.control-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"routing-module.service.d.ts","sourceRoot":"","sources":["../../../src/_services/route/routing-module.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAWpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACtB,MAAM,4DAA4D,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC7B,MAAM,4DAA4D,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,qBAAa,mBAAmB;IAI9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,SAAS,EAAE,qBAAqB,EAAE,CAAM;IAExC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAY;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAY;IAEzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,mBAAmB,SAEoC;gBAGrD,GAAG,EAAE,4BAA4B;IA4CnC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA4DnB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuCtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,uBAAuB;CAiBhC"}
1
+ {"version":3,"file":"routing-module.service.d.ts","sourceRoot":"","sources":["../../../src/_services/route/routing-module.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAWpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACtB,MAAM,4DAA4D,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC7B,MAAM,4DAA4D,CAAC;AAIpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,qBAAa,mBAAmB;IAI9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,SAAS,EAAE,qBAAqB,EAAE,CAAM;IAExC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAY;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAY;IAEzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,mBAAmB,SAEoC;gBAGrD,GAAG,EAAE,4BAA4B;IA4CnC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA4DnB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA2CtB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,uBAAuB;CAiBhC"}
@@ -5,6 +5,7 @@ const express_1 = require("express");
5
5
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
6
  const global_settings_const_1 = require("../../_collections/global-settings.const");
7
7
  const route_security_enum_1 = require("../../_enums/route-security.enum");
8
+ const request_telemetry_control_service_1 = require("../core/request-telemetry.control-service");
8
9
  /**
9
10
  * Routing Module
10
11
  * Handling route setup and control
@@ -177,21 +178,22 @@ class DyNTS_RoutingModule {
177
178
  * @param endpointParams
178
179
  */
179
180
  mountOpenRoute(endpointParams) {
181
+ const routeIdentity = request_telemetry_control_service_1.DyNTS_RequestTelemetry_ControlService.getInstance().identifyRoute(`${this.route}${endpointParams.endpoint}`);
180
182
  switch (endpointParams.type) {
181
183
  case fsm_dynamo_1.DyFM_HttpCallType.get:
182
- this.openRouter.get(endpointParams.endpoint, endpointParams.getFullExecution());
184
+ this.openRouter.get(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
183
185
  break;
184
186
  case fsm_dynamo_1.DyFM_HttpCallType.post:
185
- this.openRouter.post(endpointParams.endpoint, endpointParams.getFullExecution());
187
+ this.openRouter.post(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
186
188
  break;
187
189
  case fsm_dynamo_1.DyFM_HttpCallType.put:
188
- this.openRouter.put(endpointParams.endpoint, endpointParams.getFullExecution());
190
+ this.openRouter.put(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
189
191
  break;
190
192
  case fsm_dynamo_1.DyFM_HttpCallType.patch:
191
- this.openRouter.patch(endpointParams.endpoint, endpointParams.getFullExecution());
193
+ this.openRouter.patch(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
192
194
  break;
193
195
  case fsm_dynamo_1.DyFM_HttpCallType.delete:
194
- this.openRouter.delete(endpointParams.endpoint, endpointParams.getFullExecution());
196
+ this.openRouter.delete(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
195
197
  break;
196
198
  default:
197
199
  fsm_dynamo_1.DyFM_Log.error(`INVALID route type: ${endpointParams.type} - ${endpointParams.name}`);
@@ -207,21 +209,22 @@ class DyNTS_RoutingModule {
207
209
  * @param endpointParams
208
210
  */
209
211
  mountSecureRoute(endpointParams) {
212
+ const routeIdentity = request_telemetry_control_service_1.DyNTS_RequestTelemetry_ControlService.getInstance().identifyRoute(`${this.route}${endpointParams.endpoint}`);
210
213
  switch (endpointParams.type) {
211
214
  case fsm_dynamo_1.DyFM_HttpCallType.get:
212
- this.secureRouter.get(endpointParams.endpoint, endpointParams.getFullExecution());
215
+ this.secureRouter.get(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
213
216
  break;
214
217
  case fsm_dynamo_1.DyFM_HttpCallType.post:
215
- this.secureRouter.post(endpointParams.endpoint, endpointParams.getFullExecution());
218
+ this.secureRouter.post(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
216
219
  break;
217
220
  case fsm_dynamo_1.DyFM_HttpCallType.put:
218
- this.secureRouter.put(endpointParams.endpoint, endpointParams.getFullExecution());
221
+ this.secureRouter.put(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
219
222
  break;
220
223
  case fsm_dynamo_1.DyFM_HttpCallType.patch:
221
- this.secureRouter.patch(endpointParams.endpoint, endpointParams.getFullExecution());
224
+ this.secureRouter.patch(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
222
225
  break;
223
226
  case fsm_dynamo_1.DyFM_HttpCallType.delete:
224
- this.secureRouter.delete(endpointParams.endpoint, endpointParams.getFullExecution());
227
+ this.secureRouter.delete(endpointParams.endpoint, routeIdentity, endpointParams.getFullExecution());
225
228
  break;
226
229
  default:
227
230
  fsm_dynamo_1.DyFM_Log.error(`DYNAMO-NTS ERROR: INVALID route type: ${endpointParams.type} - ${endpointParams.name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"routing-module.service.js","sourceRoot":"","sources":["../../../src/_services/route/routing-module.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing-module.service.js","sourceRoot":"","sources":["../../../src/_services/route/routing-module.service.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import Express = require('express');
3
3
  import * as Http from 'http';
4
4
  import * as Https from 'https';
5
5
  import { DyFM_Error } from '@futdevpro/fsm-dynamo';
6
+ import { DyNTS_RequestTelemetry_Settings } from '../../_models/interfaces/request-telemetry-settings.interface';
6
7
  import { DyNTS_RouteSecurity } from '../../_enums/route-security.enum';
7
8
  import { DyNTS_App_Params } from '../../_models/control-models/app-params.control-model';
8
9
  import { DyNTS_AppSystemControls } from '../../_models/control-models/app-system-controls.control-model';
@@ -343,6 +344,8 @@ export declare abstract class DyNTS_App extends DyNTS_SingletonService {
343
344
  * enelkul minden app kulon-kulon epitene ugyanezt.
344
345
  */
345
346
  protected mountAppVersionHeader(express: Express.Application): void;
347
+ /** Mounts opt-in correlation and aggregate metrics before load shedding and every API route. */
348
+ protected mountRequestTelemetry(express: Express.Application): void;
346
349
  protected mountCors(express: Express.Application): void;
347
350
  /**
348
351
  * Generikus, auth-agnosztikus extension-point orchestrator. A `registerCustomMiddleware`
@@ -410,6 +413,8 @@ export declare abstract class DyNTS_App extends DyNTS_SingletonService {
410
413
  * Ha undefined → no CORS headers, no preflight handling — back-compat.
411
414
  */
412
415
  getCorsSettings?(): DyNTS_Cors_Settings | undefined;
416
+ /** Enables content-free request correlation and event-driven aggregate metrics before API routing. */
417
+ getRequestTelemetrySettings?(): DyNTS_RequestTelemetry_Settings | undefined;
413
418
  /**
414
419
  * Opcionális generikus hook: custom Express middleware regisztrálása az API route-ok
415
420
  * UTÁN és a SPA static catch-all ELŐTT. Auth-AGNOSZTIKUS framework extension-point —
@@ -1 +1 @@
1
- {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../../src/_services/server/app.server.ts"],"names":[],"mappings":"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"}