@futdevpro/nts-dynamo 1.15.441 → 1.15.445

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 (33) hide show
  1. package/build/_collections/client-ip.util.d.ts +6 -0
  2. package/build/_collections/client-ip.util.d.ts.map +1 -1
  3. package/build/_collections/client-ip.util.js +25 -0
  4. package/build/_collections/client-ip.util.js.map +1 -1
  5. package/build/_modules/machine-monitor/_models/cpu-spike.interface.d.ts +62 -0
  6. package/build/_modules/machine-monitor/_models/cpu-spike.interface.d.ts.map +1 -0
  7. package/build/_modules/machine-monitor/_models/cpu-spike.interface.js +3 -0
  8. package/build/_modules/machine-monitor/_models/cpu-spike.interface.js.map +1 -0
  9. package/build/_modules/machine-monitor/cpu-spike.util.d.ts +46 -0
  10. package/build/_modules/machine-monitor/cpu-spike.util.d.ts.map +1 -0
  11. package/build/_modules/machine-monitor/cpu-spike.util.js +158 -0
  12. package/build/_modules/machine-monitor/cpu-spike.util.js.map +1 -0
  13. package/build/_modules/machine-monitor/index.d.ts +3 -0
  14. package/build/_modules/machine-monitor/index.d.ts.map +1 -1
  15. package/build/_modules/machine-monitor/index.js +5 -1
  16. package/build/_modules/machine-monitor/index.js.map +1 -1
  17. package/build/_modules/machine-monitor/wall-clock.util.d.ts +22 -0
  18. package/build/_modules/machine-monitor/wall-clock.util.d.ts.map +1 -0
  19. package/build/_modules/machine-monitor/wall-clock.util.js +64 -0
  20. package/build/_modules/machine-monitor/wall-clock.util.js.map +1 -0
  21. package/build/_modules/scheduler/scheduler.service.d.ts +8 -0
  22. package/build/_modules/scheduler/scheduler.service.d.ts.map +1 -1
  23. package/build/_modules/scheduler/scheduler.service.js +16 -0
  24. package/build/_modules/scheduler/scheduler.service.js.map +1 -1
  25. package/build/_modules/usage/usage.data-service.d.ts +6 -0
  26. package/build/_modules/usage/usage.data-service.d.ts.map +1 -1
  27. package/build/_modules/usage/usage.data-service.js +22 -2
  28. package/build/_modules/usage/usage.data-service.js.map +1 -1
  29. package/build/_services/core/email.service.d.ts +14 -1
  30. package/build/_services/core/email.service.d.ts.map +1 -1
  31. package/build/_services/core/email.service.js +38 -9
  32. package/build/_services/core/email.service.js.map +1 -1
  33. package/package.json +2 -2
@@ -21,6 +21,12 @@ export declare class DyNTS_ClientIp_Util {
21
21
  * 192.168/16), link-local (169.254/16, fe80::/10) or IPv6 unique-local (fc00::/7).
22
22
  */
23
23
  static isTrustedProxyPeer(address: string): boolean;
24
+ /**
25
+ * BFR-FUTDEVPRO-069 ⓒ — a PSEUDONYMISED form of an IP for statistics: IPv4 keeps the /24 network (`203.0.113.7` →
26
+ * `203.0.113.0`), IPv6 the /48 (`2001:db8:85a3:8d3::1` → `2001:db8:85a3::`); anything else → `'unknown'`. Never the
27
+ * full address.
28
+ */
29
+ static truncate(address: string): string;
24
30
  /** The last non-empty `X-Forwarded-For` entry (the one the nearest proxy appended), or `undefined`. */
25
31
  private static lastForwarded;
26
32
  /** `::ffff:10.0.0.1` → `10.0.0.1` (an IPv4 peer seen through an IPv6 socket). */
@@ -1 +1 @@
1
- {"version":3,"file":"client-ip.util.d.ts","sourceRoot":"","sources":["../../src/_collections/client-ip.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAE9B,0GAA0G;IAC1G,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAexC;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAgBnD,uGAAuG;IACvG,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,SAAS;IAMxB,OAAO,CAAC,MAAM,CAAC,OAAO;CASvB"}
1
+ {"version":3,"file":"client-ip.util.d.ts","sourceRoot":"","sources":["../../src/_collections/client-ip.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAE9B,0GAA0G;IAC1G,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAexC;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAgBnD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAwBxC,uGAAuG;IACvG,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,SAAS;IAMxB,OAAO,CAAC,MAAM,CAAC,OAAO;CASvB"}
@@ -45,6 +45,31 @@ class DyNTS_ClientIp_Util {
45
45
  const lower = ip.toLowerCase();
46
46
  return lower === '::1' || /^f[cd][0-9a-f]{2}:/.test(lower) || /^fe[89ab][0-9a-f]:/.test(lower);
47
47
  }
48
+ /**
49
+ * BFR-FUTDEVPRO-069 ⓒ — a PSEUDONYMISED form of an IP for statistics: IPv4 keeps the /24 network (`203.0.113.7` →
50
+ * `203.0.113.0`), IPv6 the /48 (`2001:db8:85a3:8d3::1` → `2001:db8:85a3::`); anything else → `'unknown'`. Never the
51
+ * full address.
52
+ */
53
+ static truncate(address) {
54
+ const ip = DyNTS_ClientIp_Util.normalize(address);
55
+ const v4 = DyNTS_ClientIp_Util.parseV4(ip);
56
+ if (v4) {
57
+ return `${v4[0]}.${v4[1]}.${v4[2]}.0`;
58
+ }
59
+ if (/^[0-9a-f:]+$/i.test(ip) && ip.includes(':')) {
60
+ // expand the `::` so the first three groups are the real ones
61
+ const [head, tail] = ip.toLowerCase().split('::');
62
+ const headGroups = head ? head.split(':') : [];
63
+ const tailGroups = tail !== undefined && tail ? tail.split(':') : [];
64
+ const groups = tail === undefined
65
+ ? headGroups
66
+ : [...headGroups, ...new Array(Math.max(0, 8 - headGroups.length - tailGroups.length)).fill('0'), ...tailGroups];
67
+ if (groups.length === 8 && groups.every((group) => /^[0-9a-f]{1,4}$/.test(group))) {
68
+ return `${groups.slice(0, 3).map((group) => group.replace(/^0+(?=.)/, '')).join(':')}::`;
69
+ }
70
+ }
71
+ return 'unknown';
72
+ }
48
73
  /** The last non-empty `X-Forwarded-For` entry (the one the nearest proxy appended), or `undefined`. */
49
74
  static lastForwarded(header) {
50
75
  const raw = Array.isArray(header) ? header.join(',') : (header ?? '');
@@ -1 +1 @@
1
- {"version":3,"file":"client-ip.util.js","sourceRoot":"","sources":["../../src/_collections/client-ip.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-ip.util.js","sourceRoot":"","sources":["../../src/_collections/client-ip.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { DyNTS_MachineStateSummary_Interface } from './machine-state-summary.interface';
2
+ /** BFR-FLEET-033 — one second of a CPU monitor's log (the source format is the caller's: it maps its rows to this). */
3
+ export interface DyNTS_CpuSample_Interface {
4
+ /** Local wall clock `YYYY-MM-DD HH:MM:SS` (in the util's time zone). */
5
+ time: string;
6
+ /** How long the monitor was starved before this sample (ms). */
7
+ gapMs: number;
8
+ /** The monitor's state of the second (`SATURATED` / `BUSY` count as a spike). */
9
+ status: string;
10
+ util: number;
11
+ priv: number;
12
+ queue: number;
13
+ topCpu: string;
14
+ topCpuPct: number;
15
+ topIo: string;
16
+ topIoMBps: number;
17
+ }
18
+ /** BFR-FLEET-033 — a CPU spike episode: the spike seconds no more than `MERGE_S` apart. */
19
+ export interface DyNTS_CpuSpikeEpisode_Interface {
20
+ start: string;
21
+ end: string;
22
+ samples: DyNTS_CpuSample_Interface[];
23
+ }
24
+ /** BFR-FLEET-033 — one process of a dense process sampling around the spike (e.g. the svchost PID ⇒ service). */
25
+ export interface DyNTS_CpuBurstTop_Interface {
26
+ pid: number;
27
+ name: string;
28
+ pct: number;
29
+ svc: string;
30
+ }
31
+ /** BFR-FLEET-033 — the analysis of a spike episode. */
32
+ export interface DyNTS_CpuSpikeAnalysis_Interface {
33
+ start: string;
34
+ end: string;
35
+ seconds: number;
36
+ peakUtil: number;
37
+ peakPriv: number;
38
+ peakQueue: number;
39
+ /** The monitor's longest starvation (ms). */
40
+ maxGapMs: number;
41
+ topCpu: {
42
+ name: string;
43
+ maxPct: number;
44
+ seconds: number;
45
+ }[];
46
+ topIo: {
47
+ name: string;
48
+ maxMBps: number;
49
+ }[];
50
+ /** The processes started in the `WINDOW_S` before the spike (name ⇒ count). */
51
+ startedBefore: {
52
+ name: string;
53
+ count: number;
54
+ }[];
55
+ /** Whether it started on a quarter-hour boundary (±20 s). */
56
+ quarterHour: boolean;
57
+ /** Optional enrichment by the caller: a dense process sampling; `null` = there was none for this spike. */
58
+ burst?: DyNTS_CpuBurstTop_Interface[] | null;
59
+ /** Optional enrichment by the caller: the per-minute machine state around the spike; `null` = no row. */
60
+ machineState?: DyNTS_MachineStateSummary_Interface | null;
61
+ }
62
+ //# sourceMappingURL=cpu-spike.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-spike.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/machine-monitor/_models/cpu-spike.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AAExF,uHAAuH;AACvH,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2FAA2F;AAC3F,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,yBAAyB,EAAE,CAAC;CACtC;AAED,iHAAiH;AACjH,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,uDAAuD;AACvD,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,2GAA2G;IAC3G,KAAK,CAAC,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC;IAC7C,yGAAyG;IACzG,YAAY,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;CAC3D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cpu-spike.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-spike.interface.js","sourceRoot":"","sources":["../../../../src/_modules/machine-monitor/_models/cpu-spike.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ import { DyNTS_CpuSample_Interface, DyNTS_CpuSpikeAnalysis_Interface, DyNTS_CpuSpikeEpisode_Interface } from './_models/cpu-spike.interface';
2
+ /**
3
+ * BFR-FLEET-033 (4th step) — the CPU spike detection and analysis, transplanted from the My Assistant
4
+ * `cli/src/diagnostics/cpu-spike-watcher.ts` (`current/principles/transplant-not-rewrite.md`: the logic unchanged).
5
+ *
6
+ * @description What moved here is the machine- and source-independent core: the spike second, the episodes, the
7
+ * analysis, its readable form, and the tail readers of large logs. What stays with the caller: the monitor's own
8
+ * log format (it maps its rows to `DyNTS_CpuSample_Interface`), when and to whom to report, the gaming / do-not-disturb
9
+ * rules, and the optional enrichments (a dense process sampling ⇒ `burst`, the machine state ⇒ `machineState`).
10
+ * ⛔ No machine name, path or secret in here.
11
+ */
12
+ export declare class DyNTS_CpuSpike_Util {
13
+ /** The window saved / analysed before and after the spike (s). */
14
+ static readonly WINDOW_S: number;
15
+ /** A monitor starvation of at least this counts as a spike (ms). */
16
+ static readonly GAP_MS: number;
17
+ /** Spike seconds no more than this apart are one episode (s). */
18
+ static readonly MERGE_S: number;
19
+ /** A quarter-hour boundary within this many seconds counts as "on the boundary". */
20
+ static readonly QUARTER_HOUR_TOLERANCE_S: number;
21
+ /** At most this much is read from the end of a timeline log (bytes). */
22
+ static readonly TIMELINE_TAIL_MAX: number;
23
+ /** A spike second: `SATURATED` / `BUSY`, or the monitor starved for at least `GAP_MS`. **Pure function.** */
24
+ static isSpike(sample: DyNTS_CpuSample_Interface): boolean;
25
+ /**
26
+ * The spike seconds grouped into episodes (no more than `MERGE_S` apart). **Pure function.**
27
+ *
28
+ * @param samples the samples in time order
29
+ * @param timeZone the time zone of the samples' wall clock
30
+ */
31
+ static episodes(samples: readonly DyNTS_CpuSample_Interface[], timeZone?: string): DyNTS_CpuSpikeEpisode_Interface[];
32
+ /**
33
+ * The analysis of an episode and of its timeline window (`{"t": …, "kind": "proc_start", "name": …}` JSON lines).
34
+ * **Pure function.**
35
+ */
36
+ static analyze(episode: DyNTS_CpuSpikeEpisode_Interface, timeline: readonly string[], timeZone?: string): DyNTS_CpuSpikeAnalysis_Interface;
37
+ /** The readable form of an analysis (⛔ middle-dot separators). **Pure function.** */
38
+ static renderAnalysis(a: DyNTS_CpuSpikeAnalysis_Interface): string;
39
+ /** The local time of a timeline line (`YYYY-MM-DD HH:MM:SS`, from its `"t"` field, without JSON parsing). **Pure.** */
40
+ static lineTime(line: string): string;
41
+ /** The last `bytes` bytes of a file (its first, truncated line is the caller's to drop). */
42
+ static readTail(path: string, bytes: number): Promise<string>;
43
+ /** The `[from, to]` window of a timeline log, read from its end (a growing tail until the window's start fits). */
44
+ static timelineWindow(path: string, from: string, to: string): Promise<string[]>;
45
+ }
46
+ //# sourceMappingURL=cpu-spike.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-spike.util.d.ts","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/cpu-spike.util.ts"],"names":[],"mappings":"AAEA,OAAO,EACwB,yBAAyB,EAAE,gCAAgC,EACxF,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AAIvC;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAE9B,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAM;IAEtC,oEAAoE;IACpE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAQ;IAEtC,iEAAiE;IACjE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAK;IAEpC,oFAAoF;IACpF,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAM;IAEtD,wEAAwE;IACxE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAoB;IAE7D,6GAA6G;IAC7G,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAI1D;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,OAAO,EAAE,SAAS,yBAAyB,EAAE,EAC7C,QAAQ,GAAE,MAA+C,GACxD,+BAA+B,EAAE;IAiBpC;;;OAGG;IACH,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,+BAA+B,EACxC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,QAAQ,GAAE,MAA+C,GACxD,gCAAgC;IA2DnC,qFAAqF;IACrF,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,gCAAgC,GAAG,MAAM;IAmBlE,uHAAuH;IACvH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMrC,4FAA4F;WAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBnE,mHAAmH;WACtG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAiBvF"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_CpuSpike_Util = void 0;
4
+ const promises_1 = require("fs/promises");
5
+ const machine_state_window_util_1 = require("./machine-state-window.util");
6
+ const wall_clock_util_1 = require("./wall-clock.util");
7
+ /**
8
+ * BFR-FLEET-033 (4th step) — the CPU spike detection and analysis, transplanted from the My Assistant
9
+ * `cli/src/diagnostics/cpu-spike-watcher.ts` (`current/principles/transplant-not-rewrite.md`: the logic unchanged).
10
+ *
11
+ * @description What moved here is the machine- and source-independent core: the spike second, the episodes, the
12
+ * analysis, its readable form, and the tail readers of large logs. What stays with the caller: the monitor's own
13
+ * log format (it maps its rows to `DyNTS_CpuSample_Interface`), when and to whom to report, the gaming / do-not-disturb
14
+ * rules, and the optional enrichments (a dense process sampling ⇒ `burst`, the machine state ⇒ `machineState`).
15
+ * ⛔ No machine name, path or secret in here.
16
+ */
17
+ class DyNTS_CpuSpike_Util {
18
+ /** The window saved / analysed before and after the spike (s). */
19
+ static WINDOW_S = 60;
20
+ /** A monitor starvation of at least this counts as a spike (ms). */
21
+ static GAP_MS = 2000;
22
+ /** Spike seconds no more than this apart are one episode (s). */
23
+ static MERGE_S = 5;
24
+ /** A quarter-hour boundary within this many seconds counts as "on the boundary". */
25
+ static QUARTER_HOUR_TOLERANCE_S = 20;
26
+ /** At most this much is read from the end of a timeline log (bytes). */
27
+ static TIMELINE_TAIL_MAX = 16 * 1024 * 1024;
28
+ /** A spike second: `SATURATED` / `BUSY`, or the monitor starved for at least `GAP_MS`. **Pure function.** */
29
+ static isSpike(sample) {
30
+ return sample.status === 'SATURATED' || sample.status === 'BUSY' || sample.gapMs >= DyNTS_CpuSpike_Util.GAP_MS;
31
+ }
32
+ /**
33
+ * The spike seconds grouped into episodes (no more than `MERGE_S` apart). **Pure function.**
34
+ *
35
+ * @param samples the samples in time order
36
+ * @param timeZone the time zone of the samples' wall clock
37
+ */
38
+ static episodes(samples, timeZone = wall_clock_util_1.DyNTS_WallClock_Util.DEFAULT_TIME_ZONE) {
39
+ const result = [];
40
+ for (const sample of samples.filter((s) => DyNTS_CpuSpike_Util.isSpike(s))) {
41
+ const last = result[result.length - 1];
42
+ if (last && wall_clock_util_1.DyNTS_WallClock_Util.addSeconds(last.end, DyNTS_CpuSpike_Util.MERGE_S, timeZone) >= sample.time) {
43
+ last.end = sample.time;
44
+ last.samples.push(sample);
45
+ }
46
+ else {
47
+ result.push({ start: sample.time, end: sample.time, samples: [sample] });
48
+ }
49
+ }
50
+ return result;
51
+ }
52
+ /**
53
+ * The analysis of an episode and of its timeline window (`{"t": …, "kind": "proc_start", "name": …}` JSON lines).
54
+ * **Pure function.**
55
+ */
56
+ static analyze(episode, timeline, timeZone = wall_clock_util_1.DyNTS_WallClock_Util.DEFAULT_TIME_ZONE) {
57
+ const cpu = new Map();
58
+ const io = new Map();
59
+ for (const s of episode.samples) {
60
+ if (s.topCpu) {
61
+ cpu.set(s.topCpu, {
62
+ maxPct: Math.max(cpu.get(s.topCpu)?.maxPct ?? 0, s.topCpuPct), seconds: (cpu.get(s.topCpu)?.seconds ?? 0) + 1,
63
+ });
64
+ }
65
+ if (s.topIo) {
66
+ io.set(s.topIo, Math.max(io.get(s.topIo) ?? 0, s.topIoMBps));
67
+ }
68
+ }
69
+ const before = wall_clock_util_1.DyNTS_WallClock_Util.addSeconds(episode.start, -DyNTS_CpuSpike_Util.WINDOW_S, timeZone);
70
+ const started = new Map();
71
+ for (const line of timeline) {
72
+ try {
73
+ const entry = JSON.parse(line);
74
+ const field = (key) => {
75
+ const value = typeof entry === 'object' && entry !== null ? Reflect.get(entry, key) : undefined;
76
+ return typeof value === 'string' ? value : '';
77
+ };
78
+ const t = field('t').replace('T', ' ').slice(0, 19);
79
+ if (field('kind') === 'proc_start' && t >= before && t <= episode.start) {
80
+ started.set(field('name'), (started.get(field('name')) ?? 0) + 1);
81
+ }
82
+ }
83
+ catch {
84
+ // a truncated line is skipped
85
+ }
86
+ }
87
+ const offset = (Number(episode.start.slice(14, 16)) % 15) * 60 + Number(episode.start.slice(17, 19));
88
+ const tolerance = DyNTS_CpuSpike_Util.QUARTER_HOUR_TOLERANCE_S;
89
+ return {
90
+ start: episode.start,
91
+ end: episode.end,
92
+ seconds: episode.samples.length,
93
+ peakUtil: Math.max(...episode.samples.map((s) => s.util)),
94
+ peakPriv: Math.max(...episode.samples.map((s) => s.priv)),
95
+ peakQueue: Math.max(...episode.samples.map((s) => s.queue)),
96
+ maxGapMs: Math.max(...episode.samples.map((s) => s.gapMs)),
97
+ topCpu: [...cpu.entries()].map(([name, value]) => ({ name: name, ...value })).sort((a, b) => b.maxPct - a.maxPct).slice(0, 5),
98
+ topIo: [...io.entries()].map(([name, maxMBps]) => ({ name: name, maxMBps: maxMBps })).sort((a, b) => b.maxMBps - a.maxMBps).slice(0, 3),
99
+ startedBefore: [...started.entries()].map(([name, count]) => ({ name: name, count: count })).sort((a, b) => b.count - a.count).slice(0, 10),
100
+ // the quarter-hour boundary ±20 s (e.g. 19:59:56, 20:14:58 ⇒ yes)
101
+ quarterHour: offset <= tolerance || offset >= 15 * 60 - tolerance,
102
+ };
103
+ }
104
+ /** The readable form of an analysis (⛔ middle-dot separators). **Pure function.** */
105
+ static renderAnalysis(a) {
106
+ const burst = a.burst;
107
+ return [
108
+ `# 🔥 CPU spike ${a.start} → ${a.end.slice(11)} (${a.seconds} s)${a.quarterHour ? ' — ON A QUARTER-HOUR BOUNDARY' : ''}`,
109
+ '',
110
+ `- Peak: CPU ${a.peakUtil}%, privileged ${a.peakPriv}%, run queue ${a.peakQueue}, `
111
+ + `the monitor's longest starvation ${a.maxGapMs} ms`,
112
+ `- Top CPU: ${a.topCpu.map((p) => `${p.name} ${p.maxPct}% (${p.seconds} s)`).join(', ') || '?'}`,
113
+ `- Top IO: ${a.topIo.map((p) => `${p.name} ${p.maxMBps} MB/s`).join(', ') || '?'}`,
114
+ `- Started in the 60 s before: ${a.startedBefore.map((p) => `${p.name} ×${p.count}`).join(', ') || 'nothing'}`,
115
+ ...(burst === undefined ? [] : [`- Dense process sampling: ${burst?.length
116
+ ? burst.map((p) => `${p.svc || p.name} (PID ${p.pid}) ${p.pct}%`).join(', ')
117
+ : 'no sampling for this spike'}`]),
118
+ ...(a.machineState === undefined ? [] : [machine_state_window_util_1.DyNTS_MachineStateWindow_Util.line(a.machineState)]),
119
+ '',
120
+ ].join('\n');
121
+ }
122
+ /** The local time of a timeline line (`YYYY-MM-DD HH:MM:SS`, from its `"t"` field, without JSON parsing). **Pure.** */
123
+ static lineTime(line) {
124
+ const match = line.match(/"t":"(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/u);
125
+ return match ? `${match[1]} ${match[2]}` : '';
126
+ }
127
+ /** The last `bytes` bytes of a file (its first, truncated line is the caller's to drop). */
128
+ static async readTail(path, bytes) {
129
+ const handle = await (0, promises_1.open)(path, 'r');
130
+ try {
131
+ const size = (await handle.stat()).size;
132
+ const length = Math.min(size, bytes);
133
+ const buffer = Buffer.alloc(length);
134
+ await handle.read(buffer, 0, length, size - length);
135
+ return buffer.toString('utf-8');
136
+ }
137
+ finally {
138
+ await handle.close();
139
+ }
140
+ }
141
+ /** The `[from, to]` window of a timeline log, read from its end (a growing tail until the window's start fits). */
142
+ static async timelineWindow(path, from, to) {
143
+ for (let bytes = 1024 * 1024; bytes <= DyNTS_CpuSpike_Util.TIMELINE_TAIL_MAX; bytes *= 4) {
144
+ const lines = (await DyNTS_CpuSpike_Util.readTail(path, bytes)).split(/\r?\n/u).slice(1)
145
+ .filter((line) => !!line.trim());
146
+ const firstTime = DyNTS_CpuSpike_Util.lineTime(lines[0] ?? '');
147
+ if ((firstTime && firstTime <= from) || bytes * 4 > DyNTS_CpuSpike_Util.TIMELINE_TAIL_MAX) {
148
+ return lines.filter((line) => {
149
+ const t = DyNTS_CpuSpike_Util.lineTime(line);
150
+ return t >= from && t <= to;
151
+ });
152
+ }
153
+ }
154
+ return [];
155
+ }
156
+ }
157
+ exports.DyNTS_CpuSpike_Util = DyNTS_CpuSpike_Util;
158
+ //# sourceMappingURL=cpu-spike.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu-spike.util.js","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/cpu-spike.util.ts"],"names":[],"mappings":";;;AAAA,0CAAmC;AAMnC,2EAA4E;AAC5E,uDAAyD;AAEzD;;;;;;;;;GASG;AACH,MAAa,mBAAmB;IAE9B,kEAAkE;IAClE,MAAM,CAAU,QAAQ,GAAW,EAAE,CAAC;IAEtC,oEAAoE;IACpE,MAAM,CAAU,MAAM,GAAW,IAAI,CAAC;IAEtC,iEAAiE;IACjE,MAAM,CAAU,OAAO,GAAW,CAAC,CAAC;IAEpC,oFAAoF;IACpF,MAAM,CAAU,wBAAwB,GAAW,EAAE,CAAC;IAEtD,wEAAwE;IACxE,MAAM,CAAU,iBAAiB,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7D,6GAA6G;IAC7G,MAAM,CAAC,OAAO,CAAC,MAAiC;QAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC;IACjH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,OAA6C,EAC7C,WAAmB,sCAAoB,CAAC,iBAAiB;QAEzD,MAAM,MAAM,GAAsC,EAAE,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAA4B,EAAW,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/G,MAAM,IAAI,GAAgD,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpF,IAAI,IAAI,IAAI,sCAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5G,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAE,MAAM,CAAE,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CACZ,OAAwC,EACxC,QAA2B,EAC3B,WAAmB,sCAAoB,CAAC,iBAAiB;QAEzD,MAAM,GAAG,GAAqD,IAAI,GAAG,EAAE,CAAC;QACxE,MAAM,EAAE,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;oBAChB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC;iBAC9G,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAW,sCAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE/C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAU,EAAE;oBACpC,MAAM,KAAK,GAAY,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEzG,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,CAAC,CAAC;gBACF,MAAM,CAAC,GAAW,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE5D,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7G,MAAM,SAAS,GAAW,mBAAmB,CAAC,wBAAwB,CAAC;QAEvE,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAC/B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAA4B,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5F,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAA4B,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5F,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAA4B,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9F,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAA4B,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7F,MAAM,EAAE,CAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,EAAE,KAAK,CAAE,EAAqD,EAAE,CACtG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACrF,KAAK,EAAE,CAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,EAAE,OAAO,CAAE,EAAqC,EAAE,CACtF,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,aAAa,EAAE,CAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,EAAE,KAAK,CAAE,EAAmC,EAAE,CAC/F,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACxF,kEAAkE;YAClE,WAAW,EAAE,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS;SAClE,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,MAAM,CAAC,cAAc,CAAC,CAAmC;QACvD,MAAM,KAAK,GAAqD,CAAC,CAAC,KAAK,CAAC;QAExE,OAAO;YACL,kBAAkB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,EAAE;YACxH,EAAE;YACF,eAAe,CAAC,CAAC,QAAQ,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,SAAS,IAAI;kBAC/E,oCAAoC,CAAC,CAAC,QAAQ,KAAK;YACvD,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;YACxG,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;YAC1F,iCAAiC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;YACtH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,6BAA6B,KAAK,EAAE,MAAM;oBACzE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAA8B,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjH,CAAC,CAAC,4BAA4B,EAAE,CAAE,CAAC;YACrC,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,yDAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAE,CAAC;YAC/F,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,uHAAuH;IACvH,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,MAAM,KAAK,GAA4B,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAEnG,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,4FAA4F;IAC5F,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,KAAa;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,IAAI,GAAW,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAChD,MAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE5C,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;YAEpD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,mHAAmH;IACnH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU;QAChE,KAAK,IAAI,KAAK,GAAW,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACjG,MAAM,KAAK,GAAa,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC/F,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,SAAS,GAAW,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAEvE,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;gBAC1F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE;oBAC5C,MAAM,CAAC,GAAW,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAErD,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;;AAhLH,kDAiLC"}
@@ -10,4 +10,7 @@ export { DyNTS_DiskSpace_Util } from './disk-space.util';
10
10
  export { DyNTS_DiskSpace_Runner } from './disk-space.runner';
11
11
  export { DyNTS_DiskSpaceWindowsReader_Util } from './disk-space-windows-reader.util';
12
12
  export { DyNTS_FsReadMeter_Util, DyNTS_FsReadMeterRow_Interface } from './fs-read-meter.util';
13
+ export { DyNTS_CpuBurstTop_Interface, DyNTS_CpuSample_Interface, DyNTS_CpuSpikeAnalysis_Interface, DyNTS_CpuSpikeEpisode_Interface, } from './_models/cpu-spike.interface';
14
+ export { DyNTS_CpuSpike_Util } from './cpu-spike.util';
15
+ export { DyNTS_WallClock_Util } from './wall-clock.util';
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,wCAAwC,EAAE,MAAM,iDAAiD,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,8BAA8B,EAC9B,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,wCAAwC,EAAE,MAAM,iDAAiD,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DyNTS_FsReadMeter_Util = exports.DyNTS_DiskSpaceWindowsReader_Util = exports.DyNTS_DiskSpace_Runner = exports.DyNTS_DiskSpace_Util = exports.DyNTS_MachineStateWindowsRunners_Util = exports.DyNTS_MachineState_Recorder = exports.DyNTS_MachineStateWindow_Util = exports.DyNTS_MachineState_Util = void 0;
3
+ exports.DyNTS_WallClock_Util = exports.DyNTS_CpuSpike_Util = exports.DyNTS_FsReadMeter_Util = exports.DyNTS_DiskSpaceWindowsReader_Util = exports.DyNTS_DiskSpace_Runner = exports.DyNTS_DiskSpace_Util = exports.DyNTS_MachineStateWindowsRunners_Util = exports.DyNTS_MachineState_Recorder = exports.DyNTS_MachineStateWindow_Util = exports.DyNTS_MachineState_Util = void 0;
4
4
  var machine_state_util_1 = require("./machine-state.util");
5
5
  Object.defineProperty(exports, "DyNTS_MachineState_Util", { enumerable: true, get: function () { return machine_state_util_1.DyNTS_MachineState_Util; } });
6
6
  var machine_state_window_util_1 = require("./machine-state-window.util");
@@ -17,4 +17,8 @@ var disk_space_windows_reader_util_1 = require("./disk-space-windows-reader.util
17
17
  Object.defineProperty(exports, "DyNTS_DiskSpaceWindowsReader_Util", { enumerable: true, get: function () { return disk_space_windows_reader_util_1.DyNTS_DiskSpaceWindowsReader_Util; } });
18
18
  var fs_read_meter_util_1 = require("./fs-read-meter.util");
19
19
  Object.defineProperty(exports, "DyNTS_FsReadMeter_Util", { enumerable: true, get: function () { return fs_read_meter_util_1.DyNTS_FsReadMeter_Util; } });
20
+ var cpu_spike_util_1 = require("./cpu-spike.util");
21
+ Object.defineProperty(exports, "DyNTS_CpuSpike_Util", { enumerable: true, get: function () { return cpu_spike_util_1.DyNTS_CpuSpike_Util; } });
22
+ var wall_clock_util_1 = require("./wall-clock.util");
23
+ Object.defineProperty(exports, "DyNTS_WallClock_Util", { enumerable: true, get: function () { return wall_clock_util_1.DyNTS_WallClock_Util; } });
20
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/index.ts"],"names":[],"mappings":";;;AAQA,2DAA+D;AAAtD,6HAAA,uBAAuB,OAAA;AAChC,yEAA4E;AAAnE,0IAAA,6BAA6B,OAAA;AACtC,mEAAuE;AAA9D,qIAAA,2BAA2B,OAAA;AACpC,2FAA6F;AAApF,2JAAA,qCAAqC,OAAA;AAO9C,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,yDAA6D;AAApD,2HAAA,sBAAsB,OAAA;AAC/B,mFAAqF;AAA5E,mJAAA,iCAAiC,OAAA;AAC1C,2DAA8F;AAArF,4HAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/index.ts"],"names":[],"mappings":";;;AAQA,2DAA+D;AAAtD,6HAAA,uBAAuB,OAAA;AAChC,yEAA4E;AAAnE,0IAAA,6BAA6B,OAAA;AACtC,mEAAuE;AAA9D,qIAAA,2BAA2B,OAAA;AACpC,2FAA6F;AAApF,2JAAA,qCAAqC,OAAA;AAO9C,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,yDAA6D;AAApD,2HAAA,sBAAsB,OAAA;AAC/B,mFAAqF;AAA5E,mJAAA,iCAAiC,OAAA;AAC1C,2DAA8F;AAArF,4HAAA,sBAAsB,OAAA;AAO/B,mDAAuD;AAA9C,qHAAA,mBAAmB,OAAA;AAC5B,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * BFR-FLEET-033 — DST-safe wall-clock helpers for time-zone-less `YYYY-MM-DD HH:MM:SS` values (a monitor's log). Ported
3
+ * from the My Assistant `BudapestWallClock_Util`, with the time zone as a parameter.
4
+ */
5
+ export declare class DyNTS_WallClock_Util {
6
+ /** The default time zone (the My Assistant's; pass another one per call). */
7
+ static readonly DEFAULT_TIME_ZONE: string;
8
+ /** `YYYY-MM-DD HH:MM:SS` of an instant in `timeZone`. **Pure function.** */
9
+ static format(date: Date, timeZone?: string): string;
10
+ /**
11
+ * The instant of a wall-clock value in `timeZone`; `null` when it does not parse or does not exist (the skipped DST
12
+ * hour). **Pure function.**
13
+ */
14
+ static parse(value: string, timeZone?: string): Date | null;
15
+ /** A wall-clock value shifted by `seconds` (DST-safe); an unparsable value comes back as it is. **Pure function.** */
16
+ static addSeconds(wall: string, seconds: number, timeZone?: string): string;
17
+ /** The offset of `timeZone` from UTC at an instant (ms). */
18
+ private static offsetMs;
19
+ /** The wall-clock parts of an instant in `timeZone`. */
20
+ private static parts;
21
+ }
22
+ //# sourceMappingURL=wall-clock.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wall-clock.util.d.ts","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/wall-clock.util.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,qBAAa,oBAAoB;IAE/B,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAqB;IAE9D,4EAA4E;IAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,MAA+C,GAAG,MAAM;IAO5F;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA+C,GAAG,IAAI,GAAG,IAAI;IAwBnG,sHAAsH;IACtH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA+C,GAAG,MAAM;IAMnH,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ;IAOvB,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK;CAarB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_WallClock_Util = void 0;
4
+ /**
5
+ * BFR-FLEET-033 — DST-safe wall-clock helpers for time-zone-less `YYYY-MM-DD HH:MM:SS` values (a monitor's log). Ported
6
+ * from the My Assistant `BudapestWallClock_Util`, with the time zone as a parameter.
7
+ */
8
+ class DyNTS_WallClock_Util {
9
+ /** The default time zone (the My Assistant's; pass another one per call). */
10
+ static DEFAULT_TIME_ZONE = 'Europe/Budapest';
11
+ /** `YYYY-MM-DD HH:MM:SS` of an instant in `timeZone`. **Pure function.** */
12
+ static format(date, timeZone = DyNTS_WallClock_Util.DEFAULT_TIME_ZONE) {
13
+ return new Intl.DateTimeFormat('sv-SE', {
14
+ timeZone: timeZone, year: 'numeric', month: '2-digit', day: '2-digit',
15
+ hour: '2-digit', minute: '2-digit', second: '2-digit', hourCycle: 'h23',
16
+ }).format(date);
17
+ }
18
+ /**
19
+ * The instant of a wall-clock value in `timeZone`; `null` when it does not parse or does not exist (the skipped DST
20
+ * hour). **Pure function.**
21
+ */
22
+ static parse(value, timeZone = DyNTS_WallClock_Util.DEFAULT_TIME_ZONE) {
23
+ const match = value.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?$/u);
24
+ if (!match) {
25
+ return null;
26
+ }
27
+ const expected = {
28
+ year: Number(match[1]), month: Number(match[2]), day: Number(match[3]),
29
+ hour: Number(match[4]), minute: Number(match[5]), second: Number(match[6] ?? 0),
30
+ };
31
+ const localAsUtc = Date.UTC(expected.year, expected.month - 1, expected.day, expected.hour, expected.minute, expected.second);
32
+ let instantMs = localAsUtc - DyNTS_WallClock_Util.offsetMs(new Date(localAsUtc), timeZone);
33
+ instantMs = localAsUtc - DyNTS_WallClock_Util.offsetMs(new Date(instantMs), timeZone);
34
+ const instant = new Date(instantMs);
35
+ const actual = DyNTS_WallClock_Util.parts(instant, timeZone);
36
+ const isSame = Object.keys(expected)
37
+ .every((key) => actual[key] === expected[key]);
38
+ return isSame ? instant : null;
39
+ }
40
+ /** A wall-clock value shifted by `seconds` (DST-safe); an unparsable value comes back as it is. **Pure function.** */
41
+ static addSeconds(wall, seconds, timeZone = DyNTS_WallClock_Util.DEFAULT_TIME_ZONE) {
42
+ const at = DyNTS_WallClock_Util.parse(wall, timeZone);
43
+ return at ? DyNTS_WallClock_Util.format(new Date(at.getTime() + seconds * 1000), timeZone) : wall;
44
+ }
45
+ /** The offset of `timeZone` from UTC at an instant (ms). */
46
+ static offsetMs(at, timeZone) {
47
+ const parts = DyNTS_WallClock_Util.parts(at, timeZone);
48
+ return Date.UTC(parts.year, parts.month - 1, parts.day, parts.hour, parts.minute, parts.second, at.getUTCMilliseconds()) - at.getTime();
49
+ }
50
+ /** The wall-clock parts of an instant in `timeZone`. */
51
+ static parts(at, timeZone) {
52
+ const formatted = new Intl.DateTimeFormat('en-CA', {
53
+ timeZone: timeZone, year: 'numeric', month: '2-digit', day: '2-digit',
54
+ hour: '2-digit', minute: '2-digit', second: '2-digit', hourCycle: 'h23',
55
+ }).formatToParts(at);
56
+ const value = (type) => Number(formatted.find((part) => part.type === type)?.value ?? Number.NaN);
57
+ return {
58
+ year: value('year'), month: value('month'), day: value('day'),
59
+ hour: value('hour'), minute: value('minute'), second: value('second'),
60
+ };
61
+ }
62
+ }
63
+ exports.DyNTS_WallClock_Util = DyNTS_WallClock_Util;
64
+ //# sourceMappingURL=wall-clock.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wall-clock.util.js","sourceRoot":"","sources":["../../../src/_modules/machine-monitor/wall-clock.util.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,14 @@ export declare class DyNTS_Scheduler_Service extends DyNTS_SingletonServiceBase
27
27
  * azonnal elindul. Duplikalt kulcs / hibas intervalMs eseten hibat dob.
28
28
  */
29
29
  registerJob(job: DyNTS_ScheduledJob): void;
30
+ /**
31
+ * BFR-MASTERPROMPTER-133 — registers the job ONLY if its key is not registered yet, then starts the scheduler
32
+ * (idempotent: a second call with the same key neither throws nor registers a second job). The pattern every
33
+ * background service wrote by hand (`getJobKeys().includes(key)` → `registerJob` → `start()`; 6× in the MP).
34
+ *
35
+ * @returns `true` when THIS call registered the job, `false` when the key was already there (the first job stays)
36
+ */
37
+ ensureJob(job: DyNTS_ScheduledJob): boolean;
30
38
  /** Job leiratkoztatasa + eltavolitasa. Ismeretlen kulcs eseten no-op. */
31
39
  unregisterJob(key: string): void;
32
40
  /** Minden regisztralt job timer-enek inditasa. Idempotens. */
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.service.d.ts","sourceRoot":"","sources":["../../../src/_modules/scheduler/scheduler.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAS3C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,SAAQ,0BAA0B;IAErE,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAI7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4E;IACjG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,kBAAkB,CAAkB;IAE5C;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI;IAsB1C,yEAAyE;IACzE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAUhC,8DAA8D;IAC9D,KAAK,IAAI,IAAI;IAQb,sEAAsE;IACtE,IAAI,IAAI,IAAI;IAQZ,wFAAwF;IAClF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,oCAAoC;IACpC,SAAS,IAAI,OAAO;IAIpB,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,iCAAiC;IACjC,UAAU,IAAI,MAAM,EAAE;IAItB,wCAAwC;IACxC,OAAO,CAAC,KAAK,GAAE,MAAY,GAAG,qBAAqB,EAAE;IAMrD,+EAA+E;IAC/E,gBAAgB,IAAI,IAAI;IAMxB,OAAO,CAAC,QAAQ;YAYF,UAAU;IA2BxB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,QAAQ;CAMjB"}
1
+ {"version":3,"file":"scheduler.service.d.ts","sourceRoot":"","sources":["../../../src/_modules/scheduler/scheduler.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAS3C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,uBAAwB,SAAQ,0BAA0B;IAErE,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAI7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4E;IACjG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,kBAAkB,CAAkB;IAE5C;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI;IAsB1C;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO;IAY3C,yEAAyE;IACzE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAUhC,8DAA8D;IAC9D,KAAK,IAAI,IAAI;IAQb,sEAAsE;IACtE,IAAI,IAAI,IAAI;IAQZ,wFAAwF;IAClF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,oCAAoC;IACpC,SAAS,IAAI,OAAO;IAIpB,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,iCAAiC;IACjC,UAAU,IAAI,MAAM,EAAE;IAItB,wCAAwC;IACxC,OAAO,CAAC,KAAK,GAAE,MAAY,GAAG,qBAAqB,EAAE;IAMrD,+EAA+E;IAC/E,gBAAgB,IAAI,IAAI;IAMxB,OAAO,CAAC,QAAQ;YAYF,UAAU;IA2BxB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,QAAQ;CAMjB"}
@@ -47,6 +47,22 @@ class DyNTS_Scheduler_Service extends singleton_service_base_1.DyNTS_SingletonSe
47
47
  this.startJob(registered);
48
48
  }
49
49
  }
50
+ /**
51
+ * BFR-MASTERPROMPTER-133 — registers the job ONLY if its key is not registered yet, then starts the scheduler
52
+ * (idempotent: a second call with the same key neither throws nor registers a second job). The pattern every
53
+ * background service wrote by hand (`getJobKeys().includes(key)` → `registerJob` → `start()`; 6× in the MP).
54
+ *
55
+ * @returns `true` when THIS call registered the job, `false` when the key was already there (the first job stays)
56
+ */
57
+ ensureJob(job) {
58
+ const isNew = !this.jobs.has(job?.key);
59
+ if (isNew) {
60
+ // a missing key / a wrong interval still throws, named (registerJob)
61
+ this.registerJob(job);
62
+ }
63
+ this.start();
64
+ return isNew;
65
+ }
50
66
  /** Job leiratkoztatasa + eltavolitasa. Ismeretlen kulcs eseten no-op. */
51
67
  unregisterJob(key) {
52
68
  const registered = this.jobs.get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.service.js","sourceRoot":"","sources":["../../../src/_modules/scheduler/scheduler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.service.js","sourceRoot":"","sources":["../../../src/_modules/scheduler/scheduler.service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare class DyNTS_Usage_DataService extends DyNTS_DataService<DyFM_Usag
11
11
  usageData?: DyFM_UsageData[];
12
12
  issuer: string;
13
13
  });
14
+ /**
15
+ * ⚖️ BFR-FUTDEVPRO-069 ⓒ — the session keeps only a PSEUDONYMISED location (the notice promises statistics
16
+ * "aggregated, pseudonymised"): the IP truncated to its /24 (IPv4) or /48 (IPv6) network, and of the geo lookup only the
17
+ * country, the EU flag and the time zone. The full IP, the coordinates, the city / region and the IP range are not
18
+ * stored (measured before: all of them were).
19
+ */
14
20
  getLocationDataFromRequest(req: Request): void;
15
21
  /**
16
22
  * Builds the filter that matches every session of one account (BFR-FUTDEVPRO-015, `L-24`):
@@ -1 +1 @@
1
- {"version":3,"file":"usage.data-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,aAAa,EAAwB,iBAAiB,EAAa,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAQ1F,qBAAa,uBAAwB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC/E,SAAS,EAAE,cAAc,EAAE,CAAM;IACjC,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;gBAG/C,GAAG,EAAE;QACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB;IAUH,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAgB9C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,aAAa,CAAC,iBAAiB,CAAC;IA6BtG;;;;;OAKG;IACG,qBAAqB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/F;;;;;;OAMG;IACG,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBpF;;;;;;OAMG;IACG,oBAAoB,CAAC,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCvF;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,KAAK,GAAE,iBAA8C,GAAG,OAAO,CAAC,IAAI,CAAC;IAuE9E,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA2ChD"}
1
+ {"version":3,"file":"usage.data-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,aAAa,EAAwB,iBAAiB,EAAa,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAQ1F,qBAAa,uBAAwB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC/E,SAAS,EAAE,cAAc,EAAE,CAAM;IACjC,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;gBAG/C,GAAG,EAAE;QACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB;IAUH;;;;;OAKG;IACH,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IA8B9C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,aAAa,CAAC,iBAAiB,CAAC;IA6BtG;;;;;OAKG;IACG,qBAAqB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/F;;;;;;OAMG;IACG,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBpF;;;;;;OAMG;IACG,oBAAoB,CAAC,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCvF;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,KAAK,GAAE,iBAA8C,GAAG,OAAO,CAAC,IAAI,CAAC;IAuE9E,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA2ChD"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DyNTS_Usage_DataService = void 0;
4
4
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
5
  const usage_1 = require("@futdevpro/fsm-dynamo/usage");
6
+ const client_ip_util_1 = require("../../_collections/client-ip.util");
6
7
  const global_settings_const_1 = require("../../_collections/global-settings.const");
7
8
  const data_service_1 = require("../../_services/base/data.service");
8
9
  const shared_static_service_1 = require("../../_services/shared.static-service");
@@ -18,10 +19,29 @@ class DyNTS_Usage_DataService extends data_service_1.DyNTS_DataService {
18
19
  super(new usage_1.DyFM_UsageSession(set?.usageSession), usage_1.DyFM_usageSession_dataParams, set.issuer);
19
20
  this.usageData = set?.usageData ?? [];
20
21
  }
22
+ /**
23
+ * ⚖️ BFR-FUTDEVPRO-069 ⓒ — the session keeps only a PSEUDONYMISED location (the notice promises statistics
24
+ * "aggregated, pseudonymised"): the IP truncated to its /24 (IPv4) or /48 (IPv6) network, and of the geo lookup only the
25
+ * country, the EU flag and the time zone. The full IP, the coordinates, the city / region and the IP range are not
26
+ * stored (measured before: all of them were).
27
+ */
21
28
  getLocationDataFromRequest(req) {
22
29
  try {
23
- this.data.address = shared_static_service_1.DyNTS_Shared.getIpFromRequest(req);
24
- this.data.locationData = shared_static_service_1.DyNTS_Shared.getLocationDataByRequest(req);
30
+ const ip = shared_static_service_1.DyNTS_Shared.getIpFromRequest(req);
31
+ const location = shared_static_service_1.DyNTS_Shared.getLocationByIp(ip);
32
+ this.data.address = client_ip_util_1.DyNTS_ClientIp_Util.truncate(ip);
33
+ this.data.locationData = location ? {
34
+ country: location.country,
35
+ eu: location.eu,
36
+ timezone: location.timezone,
37
+ // the precise parts are dropped (kept typed, emptied)
38
+ range: [0, 0],
39
+ region: '',
40
+ city: '',
41
+ ll: [0, 0],
42
+ metro: 0,
43
+ area: 0,
44
+ } : null;
25
45
  /* console.log(`...getLocationDataFromRequest... ip: ${this.data.address}`, this.data.locationData); */
26
46
  }
27
47
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"usage.data-service.js","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.data-service.js","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"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"}
@@ -79,9 +79,22 @@ export declare class DyNTS_EmailService {
79
79
  private compileTemplateComponent;
80
80
  private compileHTMLMainFrame;
81
81
  /** trims all rows and remove everything between /*...*\/ */
82
+ /**
83
+ * removes CSS comments
84
+ *
85
+ * An unclosed opening marker (`/*` without its closing pair) cuts the rest of the style
86
+ * and logs a warning — the loop must never re-insert the start of the text
87
+ * (BFR-CREDIT-109: the old `indexOf(...) + 2` made `end = 1`, so the text grew forever).
88
+ */
82
89
  private styleTrim;
83
- /** removes HTML comments */
90
+ /**
91
+ * removes HTML comments
92
+ *
93
+ * An unclosed `<!--` cuts the rest of the template and logs a warning (BFR-CREDIT-109).
94
+ */
84
95
  private templateTrim;
96
+ /** warns about an unclosed comment marker in an email template */
97
+ private warnUnclosedComment;
85
98
  private getStringKBSize;
86
99
  private compileComponentProperties;
87
100
  private compileSubComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/email.service.ts"],"names":[],"mappings":"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"}
@@ -286,7 +286,7 @@ class DyNTS_EmailService /* extends DyNTS_SingletonService */ {
286
286
  template = await this.compileSubComponent(subComponentSelector, componentProperties, template, issuer);
287
287
  }
288
288
  });
289
- template = this.templateTrim(template);
289
+ template = this.templateTrim(template, componentName);
290
290
  return template;
291
291
  }
292
292
  catch (error) {
@@ -315,7 +315,7 @@ class DyNTS_EmailService /* extends DyNTS_SingletonService */ {
315
315
  allStyles.push(subComponent.styles.trim());
316
316
  }
317
317
  });
318
- const styles = this.styleTrim(allStyles.join(''));
318
+ const styles = this.styleTrim(allStyles.join(''), component.name);
319
319
  const styleSize = this.getStringKBSize(styles);
320
320
  if (this.styleLimitWarning < styleSize) {
321
321
  fsm_dynamo_1.DyFM_Log.warn(`\nDynamoNTS EmailService WARNING (${this.serviceName}), ` +
@@ -339,25 +339,54 @@ class DyNTS_EmailService /* extends DyNTS_SingletonService */ {
339
339
  `\n</html> `;
340
340
  }
341
341
  /** trims all rows and remove everything between /*...*\/ */
342
- styleTrim(style) {
342
+ /**
343
+ * removes CSS comments
344
+ *
345
+ * An unclosed opening marker (`/*` without its closing pair) cuts the rest of the style
346
+ * and logs a warning — the loop must never re-insert the start of the text
347
+ * (BFR-CREDIT-109: the old `indexOf(...) + 2` made `end = 1`, so the text grew forever).
348
+ */
349
+ styleTrim(style, source) {
343
350
  let result = style?.split('\n').map((row) => row.trim()).join('');
344
351
  while (result?.includes('/*')) {
345
352
  const start = result.indexOf('/*');
346
- const end = result.indexOf('*/', start) + 2;
347
- result = result.substring(0, start) + result.substring(end);
353
+ const close = result.indexOf('*/', start + 2);
354
+ // lezáratlan megjegyzés: a maradékot levágjuk, és jelezzük
355
+ if (close < 0) {
356
+ this.warnUnclosedComment('/*', source);
357
+ result = result.substring(0, start);
358
+ break;
359
+ }
360
+ result = result.substring(0, start) + result.substring(close + 2);
348
361
  }
349
362
  return result;
350
363
  }
351
- /** removes HTML comments */
352
- templateTrim(template) {
364
+ /**
365
+ * removes HTML comments
366
+ *
367
+ * An unclosed `<!--` cuts the rest of the template and logs a warning (BFR-CREDIT-109).
368
+ */
369
+ templateTrim(template, source) {
353
370
  let result = template;
354
371
  while (result.includes('<!--')) {
355
372
  const start = result.indexOf('<!--');
356
- const end = result.indexOf('-->', start) + 3;
357
- result = result.substring(0, start) + result.substring(end);
373
+ const close = result.indexOf('-->', start + 4);
374
+ // lezáratlan megjegyzés: a maradékot levágjuk, és jelezzük
375
+ if (close < 0) {
376
+ this.warnUnclosedComment('<!--', source);
377
+ result = result.substring(0, start);
378
+ break;
379
+ }
380
+ result = result.substring(0, start) + result.substring(close + 3);
358
381
  }
359
382
  return result;
360
383
  }
384
+ /** warns about an unclosed comment marker in an email template */
385
+ warnUnclosedComment(marker, source) {
386
+ fsm_dynamo_1.DyFM_Log.warn(`\nDynamoNTS EmailService WARNING (${this.serviceName}), ` +
387
+ `\nUnclosed comment "${marker}" in email template: the rest after it was removed!` +
388
+ `\ncomponent: ${source ?? 'unknown'}`);
389
+ }
361
390
  getStringKBSize(str) {
362
391
  const b = str.length * 2;
363
392
  return b / 1024;
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/_services/core/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/_services/core/email.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/nts-dynamo",
3
- "version": "01.15.441",
3
+ "version": "01.15.445",
4
4
  "description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "server-package",
@@ -553,7 +553,7 @@
553
553
  }
554
554
  },
555
555
  "devDependencies": {
556
- "@futdevpro/fsm-dynamo": "1.20.137",
556
+ "@futdevpro/fsm-dynamo": "1.20.139",
557
557
  "@futdevpro/dynamo-eslint": "1.20.74",
558
558
  "@discordjs/opus": "^0.10.0",
559
559
  "@discordjs/voice": "^0.18.0",