@fastybird/smart-panel-backend 1.1.0-alpha.1 → 1.1.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.module.js +7 -0
- package/dist/app.module.js.map +1 -1
- package/dist/common/filters/conflict-exception.filter.d.ts +6 -0
- package/dist/common/filters/conflict-exception.filter.js +59 -0
- package/dist/common/filters/conflict-exception.filter.js.map +1 -0
- package/dist/common/filters/global-error.filter.js +1 -4
- package/dist/common/filters/global-error.filter.js.map +1 -1
- package/dist/common/filters/global-filters.d.ts +3 -0
- package/dist/common/filters/global-filters.js +22 -0
- package/dist/common/filters/global-filters.js.map +1 -0
- package/dist/common/filters/unprocessable-entity-exception.filter.d.ts +1 -0
- package/dist/common/filters/unprocessable-entity-exception.filter.js +15 -3
- package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
- package/dist/common/utils/transform.utils.js +3 -0
- package/dist/common/utils/transform.utils.js.map +1 -1
- package/dist/main.js +2 -7
- package/dist/main.js.map +1 -1
- package/dist/modules/devices/controllers/channels.properties.controller.js +16 -4
- package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js +16 -4
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/devices.module.js +12 -0
- package/dist/modules/devices/devices.module.js.map +1 -1
- package/dist/modules/devices/services/channels.properties.service.d.ts +27 -3
- package/dist/modules/devices/services/channels.properties.service.js +304 -28
- package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
- package/dist/modules/devices/services/channels.service.js +42 -38
- package/dist/modules/devices/services/channels.service.js.map +1 -1
- package/dist/modules/devices/services/command-latency-trace-collector.service.d.ts +101 -0
- package/dist/modules/devices/services/command-latency-trace-collector.service.js +451 -0
- package/dist/modules/devices/services/command-latency-trace-collector.service.js.map +1 -0
- package/dist/modules/devices/services/device-structure-lock.service.d.ts +10 -2
- package/dist/modules/devices/services/device-structure-lock.service.js +86 -7
- package/dist/modules/devices/services/device-structure-lock.service.js.map +1 -1
- package/dist/modules/devices/services/devices.service.js +37 -33
- package/dist/modules/devices/services/devices.service.js.map +1 -1
- package/dist/modules/devices/services/module-reset.service.d.ts +3 -1
- package/dist/modules/devices/services/module-reset.service.js +21 -16
- package/dist/modules/devices/services/module-reset.service.js.map +1 -1
- package/dist/modules/devices/services/property-command-dispatch.service.d.ts +45 -0
- package/dist/modules/devices/services/property-command-dispatch.service.js +227 -0
- package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -0
- package/dist/modules/devices/services/property-command-window.service.d.ts +71 -0
- package/dist/modules/devices/services/property-command-window.service.js +204 -0
- package/dist/modules/devices/services/property-command-window.service.js.map +1 -0
- package/dist/modules/devices/services/property-command.service.d.ts +20 -3
- package/dist/modules/devices/services/property-command.service.js +56 -10
- package/dist/modules/devices/services/property-command.service.js.map +1 -1
- package/dist/modules/devices/services/property-state-coordinator.service.d.ts +4 -0
- package/dist/modules/devices/services/property-state-coordinator.service.js +35 -0
- package/dist/modules/devices/services/property-state-coordinator.service.js.map +1 -0
- package/dist/modules/devices/services/property-value.service.d.ts +1 -0
- package/dist/modules/devices/services/property-value.service.js +4 -0
- package/dist/modules/devices/services/property-value.service.js.map +1 -1
- package/dist/modules/platform/services/platform.service.d.ts +13 -4
- package/dist/modules/platform/services/platform.service.js +57 -35
- package/dist/modules/platform/services/platform.service.js.map +1 -1
- package/dist/modules/remote-access/dto/update-config.dto.js +5 -0
- package/dist/modules/remote-access/dto/update-config.dto.js.map +1 -1
- package/dist/modules/remote-access/validators/is-remote-access-url.validator.js +5 -2
- package/dist/modules/remote-access/validators/is-remote-access-url.validator.js.map +1 -1
- package/dist/modules/system/services/privileged-worker.service.d.ts +10 -0
- package/dist/modules/system/services/privileged-worker.service.js +137 -11
- package/dist/modules/system/services/privileged-worker.service.js.map +1 -1
- package/dist/modules/websocket/gateway/websocket.gateway.d.ts +4 -1
- package/dist/modules/websocket/gateway/websocket.gateway.js +28 -5
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.d.ts +143 -0
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.js +523 -0
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.js.map +1 -0
- package/dist/modules/websocket/websocket.module.js +9 -1
- package/dist/modules/websocket/websocket.module.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +2 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +2 -3
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +6 -1
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/base.mapper.js +27 -4
- package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +8 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +7 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +84 -73
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +18 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +338 -119
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +13 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +109 -10
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +8 -11
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js +4 -0
- package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +5 -0
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +9 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +59 -24
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +0 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +5 -12
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/utils/transform.utils.d.ts +2 -0
- package/dist/plugins/devices-shelly-ng/utils/transform.utils.js +14 -1
- package/dist/plugins/devices-shelly-ng/utils/transform.utils.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +17 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +147 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +15 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +98 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.d.ts +9 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js +94 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.d.ts +9 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js +92 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.d.ts +7 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js +48 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +42 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +352 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +24 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +27 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.d.ts +8 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js +19 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.d.ts +4 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js +20 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.d.ts +21 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +135 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +185 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +82 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +507 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +10 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +37 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.d.ts +38 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +147 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +15 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +67 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +8 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +46 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +27 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +139 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +1 -0
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +26 -10
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +6 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +28 -3
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +19 -0
- package/dist/plugins/remote-access-tailscale/models/status.model.js +158 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +13 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +27 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +2 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +1 -1
- package/dist/plugins/remote-access-tailscale/scripts/tailscale-setup.sh +61 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +9 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +12 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +1 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +27 -2
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +30 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +300 -30
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +8 -3
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +39 -12
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +14 -5
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +51 -16
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +3 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js +12 -7
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js +6 -3
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js +6 -3
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +7 -4
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +11 -5
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js +8 -5
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -20,6 +20,10 @@ const system_constants_1 = require("../system.constants");
|
|
|
20
20
|
const system_exceptions_1 = require("../system.exceptions");
|
|
21
21
|
const STATUS_POLL_INTERVAL_MS = 3_000;
|
|
22
22
|
const DEFAULT_TIMEOUT_MS = 10 * 60 * 1000;
|
|
23
|
+
const STDERR_CAPTURE_LIMIT_BYTES = 4 * 1024;
|
|
24
|
+
const IS_ACTIVE_PROBE_TIMEOUT_MS = 2_000;
|
|
25
|
+
const STOP_ATTEMPT_TIMEOUT_MS = 15_000;
|
|
26
|
+
const PRUNE_AFTER_MS = 5 * 60_000;
|
|
23
27
|
const VALID_TICK_STATES = new Set(['running', 'complete', 'failed']);
|
|
24
28
|
function isValidTickState(value) {
|
|
25
29
|
return typeof value === 'string' && VALID_TICK_STATES.has(value);
|
|
@@ -40,6 +44,11 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
40
44
|
throw new system_exceptions_1.PrivilegedWorkerUnavailableException(`Privileged workers are not supported on this platform (${this.platformService.getPlatformType()}).`);
|
|
41
45
|
}
|
|
42
46
|
if (this.busyUnits.has(spec.unit)) {
|
|
47
|
+
const busyJobId = this.busyUnits.get(spec.unit);
|
|
48
|
+
const busyRecord = busyJobId ? this.jobs.get(busyJobId) : undefined;
|
|
49
|
+
if (busyRecord?.lastStatus.state === 'timeout') {
|
|
50
|
+
throw new system_exceptions_1.PrivilegedWorkerUnavailableException(`Privileged worker unit "${spec.unit}" timed out previously and is still running after a stop attempt; it cannot be reused until the process is confirmed stopped.`);
|
|
51
|
+
}
|
|
43
52
|
throw new system_exceptions_1.PrivilegedWorkerUnavailableException(`Privileged worker unit "${spec.unit}" is already busy.`);
|
|
44
53
|
}
|
|
45
54
|
const id = (0, node_crypto_1.randomUUID)();
|
|
@@ -54,22 +63,34 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
54
63
|
lastStatus: { id, state: 'running', updatedAt: new Date().toISOString() },
|
|
55
64
|
handlers: new Set(),
|
|
56
65
|
mapStatus: spec.mapStatus,
|
|
66
|
+
redact: spec.redact,
|
|
67
|
+
stderrBuffer: Buffer.alloc(0),
|
|
57
68
|
loggedInvalidStatus: false,
|
|
69
|
+
pruneTimer: null,
|
|
58
70
|
};
|
|
59
71
|
this.jobs.set(id, record);
|
|
60
72
|
this.busyUnits.set(spec.unit, id);
|
|
61
73
|
try {
|
|
62
74
|
const setenvArgs = Object.entries(spec.env ?? {}).flatMap(([key, value]) => ['--setenv', `${key}=${value}`]);
|
|
63
|
-
const child = (0, node_child_process_1.spawn)('sudo', ['-n', 'systemd-run', '--scope', `--unit=${spec.unit}`, ...setenvArgs, 'bash', spec.script, ...spec.args], { detached: true, stdio: 'ignore' });
|
|
75
|
+
const child = (0, node_child_process_1.spawn)('sudo', ['-n', 'systemd-run', '--scope', `--unit=${spec.unit}`, ...setenvArgs, 'bash', spec.script, ...spec.args], { detached: true, stdio: ['ignore', 'ignore', 'pipe'] });
|
|
76
|
+
child.stderr?.unref?.();
|
|
77
|
+
child.stderr?.on('data', (chunk) => {
|
|
78
|
+
if (record.stderrBuffer.length >= STDERR_CAPTURE_LIMIT_BYTES) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
record.stderrBuffer = Buffer.concat([record.stderrBuffer, chunk]).subarray(0, STDERR_CAPTURE_LIMIT_BYTES);
|
|
82
|
+
});
|
|
64
83
|
child.on('error', (error) => {
|
|
65
84
|
if (record.lastStatus.state !== 'running') {
|
|
66
85
|
return;
|
|
67
86
|
}
|
|
68
|
-
|
|
87
|
+
const stderr = this.getCapturedStderr(record);
|
|
88
|
+
this.logger.error(`Privileged worker unit "${spec.unit}" failed to spawn: ${error.message}${stderr ? ` (${stderr})` : ''}`);
|
|
69
89
|
this.finishJob(record, {
|
|
70
90
|
id,
|
|
71
91
|
state: 'failed',
|
|
72
|
-
message: error.message,
|
|
92
|
+
message: this.buildFailureMessage(error.message, stderr),
|
|
93
|
+
stderr,
|
|
73
94
|
updatedAt: new Date().toISOString(),
|
|
74
95
|
});
|
|
75
96
|
});
|
|
@@ -81,11 +102,13 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
81
102
|
return;
|
|
82
103
|
}
|
|
83
104
|
const reason = signal ? `was terminated by signal ${signal}` : `exited with code ${code}`;
|
|
84
|
-
|
|
105
|
+
const stderr = this.getCapturedStderr(record);
|
|
106
|
+
this.logger.error(`Privileged worker unit "${spec.unit}" ${reason} before reporting completion${stderr ? ` (${stderr})` : ''}`);
|
|
85
107
|
this.finishJob(record, {
|
|
86
108
|
id,
|
|
87
109
|
state: 'failed',
|
|
88
|
-
message: `Worker process ${reason}`,
|
|
110
|
+
message: this.buildGenericFailureMessage(`Worker process ${reason} before reporting completion`, stderr),
|
|
111
|
+
stderr,
|
|
89
112
|
updatedAt: new Date().toISOString(),
|
|
90
113
|
});
|
|
91
114
|
});
|
|
@@ -124,11 +147,34 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
124
147
|
record.handlers.delete(handler);
|
|
125
148
|
};
|
|
126
149
|
}
|
|
150
|
+
getCapturedStderr(record) {
|
|
151
|
+
if (record.stderrBuffer.length === 0) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
const text = record.stderrBuffer.toString('utf-8');
|
|
155
|
+
const redact = record.redact;
|
|
156
|
+
if (!redact) {
|
|
157
|
+
return text;
|
|
158
|
+
}
|
|
159
|
+
return text
|
|
160
|
+
.split('\n')
|
|
161
|
+
.map((line) => redact(line))
|
|
162
|
+
.join('\n');
|
|
163
|
+
}
|
|
164
|
+
buildFailureMessage(summary, stderr) {
|
|
165
|
+
const detail = stderr ? ` (${stderr})` : '';
|
|
166
|
+
return `The smart-panel user cannot start privileged jobs: ${summary}${detail}. Re-run \`sudo smart-panel-service install\`, or add the sudoers grant from the installation guide.`;
|
|
167
|
+
}
|
|
168
|
+
buildGenericFailureMessage(summary, stderr) {
|
|
169
|
+
const detail = stderr ? ` (${stderr})` : '';
|
|
170
|
+
return `${summary}${detail}.`;
|
|
171
|
+
}
|
|
127
172
|
startPolling(record) {
|
|
128
173
|
record.pollTimer = setInterval(() => {
|
|
129
174
|
if (Date.now() - record.startedAt > record.timeoutMs) {
|
|
130
|
-
|
|
131
|
-
|
|
175
|
+
clearInterval(record.pollTimer);
|
|
176
|
+
record.pollTimer = null;
|
|
177
|
+
void this.handleTimeout(record);
|
|
132
178
|
return;
|
|
133
179
|
}
|
|
134
180
|
if (!(0, fs_1.existsSync)(record.statusFile)) {
|
|
@@ -157,14 +203,79 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
157
203
|
updatedAt: new Date().toISOString(),
|
|
158
204
|
};
|
|
159
205
|
record.lastStatus = status;
|
|
160
|
-
|
|
161
|
-
handler(status);
|
|
162
|
-
}
|
|
206
|
+
this.notifyHandlers(record, status);
|
|
163
207
|
if (status.state === 'complete' || status.state === 'failed') {
|
|
164
208
|
this.stopPolling(record);
|
|
165
209
|
}
|
|
166
210
|
}, STATUS_POLL_INTERVAL_MS);
|
|
167
211
|
}
|
|
212
|
+
stopUnit(unit) {
|
|
213
|
+
return new Promise((resolve) => {
|
|
214
|
+
let settled = false;
|
|
215
|
+
let timer = null;
|
|
216
|
+
const settle = () => {
|
|
217
|
+
if (settled) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
settled = true;
|
|
221
|
+
if (timer) {
|
|
222
|
+
clearTimeout(timer);
|
|
223
|
+
timer = null;
|
|
224
|
+
}
|
|
225
|
+
resolve();
|
|
226
|
+
};
|
|
227
|
+
try {
|
|
228
|
+
const child = (0, node_child_process_1.spawn)('sudo', ['-n', 'systemd-run', '--scope', '--quiet', `--unit=${unit}-stop`, 'systemctl', 'stop', unit], { stdio: 'ignore' });
|
|
229
|
+
child.on('exit', settle);
|
|
230
|
+
child.on('error', settle);
|
|
231
|
+
timer = setTimeout(settle, STOP_ATTEMPT_TIMEOUT_MS);
|
|
232
|
+
timer.unref();
|
|
233
|
+
child.unref();
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
settle();
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
isUnitActive(unit) {
|
|
241
|
+
return new Promise((resolve) => {
|
|
242
|
+
(0, node_child_process_1.execFile)('systemctl', ['is-active', unit], { timeout: IS_ACTIVE_PROBE_TIMEOUT_MS }, (error, stdout) => {
|
|
243
|
+
if (error) {
|
|
244
|
+
resolve(false);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
resolve((stdout ?? '').trim() === 'active');
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
async handleTimeout(record) {
|
|
252
|
+
this.logger.error(`Privileged worker unit "${record.unit}" timed out after ${record.timeoutMs}ms`);
|
|
253
|
+
await this.stopUnit(record.unit);
|
|
254
|
+
const stillActive = await this.isUnitActive(record.unit);
|
|
255
|
+
const stderr = this.getCapturedStderr(record);
|
|
256
|
+
if (record.lastStatus.state !== 'running') {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
if (stillActive) {
|
|
260
|
+
this.logger.error(`Privileged worker unit "${record.unit}" is still running after a timeout stop attempt; keeping it reserved.`);
|
|
261
|
+
const status = {
|
|
262
|
+
id: record.id,
|
|
263
|
+
state: 'timeout',
|
|
264
|
+
message: `Privileged worker unit "${record.unit}" timed out and is still running after a stop attempt; it remains reserved until confirmed stopped.`,
|
|
265
|
+
stderr,
|
|
266
|
+
updatedAt: new Date().toISOString(),
|
|
267
|
+
};
|
|
268
|
+
record.lastStatus = status;
|
|
269
|
+
this.notifyHandlers(record, status);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
this.finishJob(record, {
|
|
273
|
+
id: record.id,
|
|
274
|
+
state: 'timeout',
|
|
275
|
+
stderr,
|
|
276
|
+
updatedAt: new Date().toISOString(),
|
|
277
|
+
});
|
|
278
|
+
}
|
|
168
279
|
logInvalidStatusOnce(record, reason) {
|
|
169
280
|
if (record.loggedInvalidStatus) {
|
|
170
281
|
return;
|
|
@@ -177,10 +288,13 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
177
288
|
return;
|
|
178
289
|
}
|
|
179
290
|
record.lastStatus = status;
|
|
291
|
+
this.notifyHandlers(record, status);
|
|
292
|
+
this.stopPolling(record);
|
|
293
|
+
}
|
|
294
|
+
notifyHandlers(record, status) {
|
|
180
295
|
for (const handler of [...record.handlers]) {
|
|
181
296
|
handler(status);
|
|
182
297
|
}
|
|
183
|
-
this.stopPolling(record);
|
|
184
298
|
}
|
|
185
299
|
stopPolling(record) {
|
|
186
300
|
if (record.pollTimer) {
|
|
@@ -189,7 +303,19 @@ let PrivilegedWorkerService = class PrivilegedWorkerService {
|
|
|
189
303
|
}
|
|
190
304
|
if (this.busyUnits.get(record.unit) === record.id) {
|
|
191
305
|
this.busyUnits.delete(record.unit);
|
|
306
|
+
this.schedulePrune(record);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
schedulePrune(record) {
|
|
310
|
+
if (record.pruneTimer) {
|
|
311
|
+
return;
|
|
192
312
|
}
|
|
313
|
+
record.pruneTimer = setTimeout(() => {
|
|
314
|
+
record.pruneTimer = null;
|
|
315
|
+
record.handlers.clear();
|
|
316
|
+
this.jobs.delete(record.id);
|
|
317
|
+
}, PRUNE_AFTER_MS);
|
|
318
|
+
record.pruneTimer.unref();
|
|
193
319
|
}
|
|
194
320
|
};
|
|
195
321
|
exports.PrivilegedWorkerService = PrivilegedWorkerService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privileged-worker.service.js","sourceRoot":"","sources":["../../../../src/modules/system/services/privileged-worker.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"privileged-worker.service.js","sourceRoot":"","sources":["../../../../src/modules/system/services/privileged-worker.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs
|
|
|
4
4
|
import { ClientAddressService } from '../../api/services/client-address.service';
|
|
5
5
|
import { CommandMessageDto } from '../dto/command-message.dto';
|
|
6
6
|
import { CommandResultDto } from '../dto/command-result.dto';
|
|
7
|
+
import { CommandAcknowledgementTraceService } from '../services/command-acknowledgement-trace.service';
|
|
7
8
|
import { CommandEventRegistryService } from '../services/command-event-registry.service';
|
|
8
9
|
import { WsAuthService } from '../services/ws-auth.service';
|
|
9
10
|
export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
|
|
@@ -11,10 +12,11 @@ export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnect
|
|
|
11
12
|
private readonly eventEmitter;
|
|
12
13
|
private readonly wsAuthService;
|
|
13
14
|
private readonly clientAddressService;
|
|
15
|
+
private readonly commandAcknowledgementTrace;
|
|
14
16
|
private gatewayEnabled;
|
|
15
17
|
private readonly server;
|
|
16
18
|
private readonly logger;
|
|
17
|
-
constructor(commandEventRegistry: CommandEventRegistryService, eventEmitter: EventEmitter2, wsAuthService: WsAuthService, clientAddressService: ClientAddressService);
|
|
19
|
+
constructor(commandEventRegistry: CommandEventRegistryService, eventEmitter: EventEmitter2, wsAuthService: WsAuthService, clientAddressService: ClientAddressService, commandAcknowledgementTrace: CommandAcknowledgementTraceService);
|
|
18
20
|
enable(): void;
|
|
19
21
|
get enabled(): boolean;
|
|
20
22
|
get clientsCount(): number;
|
|
@@ -25,6 +27,7 @@ export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnect
|
|
|
25
27
|
handleSubscribeExchange(_message: CommandMessageDto, client: Socket): Promise<boolean>;
|
|
26
28
|
handleCommand(message: CommandMessageDto, client: Socket): Promise<CommandResultDto>;
|
|
27
29
|
sendMessage(event: string, payload: Record<string, any>): void;
|
|
30
|
+
private observeAcknowledgementTrace;
|
|
28
31
|
private static readonly INTERNAL_EVENT_PREFIXES;
|
|
29
32
|
private static readonly DISPLAY_TARGETED_EVENT_PREFIXES;
|
|
30
33
|
private static readonly EXCHANGE_ONLY_EVENT_PREFIXES;
|
|
@@ -28,16 +28,18 @@ const users_constants_1 = require("../../users/users.constants");
|
|
|
28
28
|
const command_message_dto_1 = require("../dto/command-message.dto");
|
|
29
29
|
const command_result_dto_1 = require("../dto/command-result.dto");
|
|
30
30
|
const ws_client_dto_1 = require("../dto/ws-client.dto");
|
|
31
|
+
const command_acknowledgement_trace_service_1 = require("../services/command-acknowledgement-trace.service");
|
|
31
32
|
const command_event_registry_service_1 = require("../services/command-event-registry.service");
|
|
32
33
|
const ws_auth_service_1 = require("../services/ws-auth.service");
|
|
33
34
|
const websocket_constants_1 = require("../websocket.constants");
|
|
34
35
|
const websocket_exceptions_1 = require("../websocket.exceptions");
|
|
35
36
|
let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
36
|
-
constructor(commandEventRegistry, eventEmitter, wsAuthService, clientAddressService) {
|
|
37
|
+
constructor(commandEventRegistry, eventEmitter, wsAuthService, clientAddressService, commandAcknowledgementTrace) {
|
|
37
38
|
this.commandEventRegistry = commandEventRegistry;
|
|
38
39
|
this.eventEmitter = eventEmitter;
|
|
39
40
|
this.wsAuthService = wsAuthService;
|
|
40
41
|
this.clientAddressService = clientAddressService;
|
|
42
|
+
this.commandAcknowledgementTrace = commandAcknowledgementTrace;
|
|
41
43
|
this.gatewayEnabled = false;
|
|
42
44
|
this.logger = (0, logger_1.createExtensionLogger)(websocket_constants_1.WEBSOCKET_MODULE_NAME, 'WebsocketGateway');
|
|
43
45
|
this.eventEmitter.onAny((event, payload) => {
|
|
@@ -79,6 +81,7 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
79
81
|
}
|
|
80
82
|
async handleConnection(client) {
|
|
81
83
|
try {
|
|
84
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.attachSocket(client));
|
|
82
85
|
this.logger.log(`Client connected: ${client.id}`);
|
|
83
86
|
await client.join(websocket_constants_1.CLIENT_DEFAULT_ROOM);
|
|
84
87
|
const clientData = client.data;
|
|
@@ -110,6 +113,7 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
115
|
handleDisconnect(client) {
|
|
116
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordSocketClose(client, 'gateway-disconnect'));
|
|
113
117
|
this.logger.log(`Client disconnected: ${client.id}`);
|
|
114
118
|
const clientData = client.data;
|
|
115
119
|
const clientIp = this.clientAddressService.resolve(client.handshake).address;
|
|
@@ -136,9 +140,12 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
136
140
|
async handleCommand(message, client) {
|
|
137
141
|
const { event, payload } = message;
|
|
138
142
|
this.logger.log(`Received command '${event}' from client ${client.id}`);
|
|
143
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayEntry(client, message));
|
|
139
144
|
if (!this.commandEventRegistry.has(event)) {
|
|
140
145
|
this.logger.warn(`No subscribers for event: ${event}`);
|
|
141
|
-
|
|
146
|
+
const result = (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'error', message: `Event '${event}' is not supported.` });
|
|
147
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayReturn(client, message, 'error'));
|
|
148
|
+
return result;
|
|
142
149
|
}
|
|
143
150
|
try {
|
|
144
151
|
const handlers = this.commandEventRegistry.get(event);
|
|
@@ -146,13 +153,17 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
146
153
|
const results = (await Promise.all(handlers.map(async ({ name, handler, requiredRoles }) => {
|
|
147
154
|
try {
|
|
148
155
|
if (requiredRoles && (!clientData.user || !requiredRoles.includes(clientData.user.role))) {
|
|
156
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerSkipped(client, message, name));
|
|
149
157
|
return { handler: name, success: false, reason: 'Insufficient permissions' };
|
|
150
158
|
}
|
|
159
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerStart(client, message, name));
|
|
151
160
|
const response = await handler(clientData.user, payload);
|
|
161
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerSettled(client, message, name, response === null ? 'null' : 'resolved'));
|
|
152
162
|
return response !== null ? { handler: name, ...response } : null;
|
|
153
163
|
}
|
|
154
164
|
catch (error) {
|
|
155
165
|
const err = error;
|
|
166
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerSettled(client, message, name, 'rejected'));
|
|
156
167
|
this.logger.error(`Error in '${name}'`, { message: err.message, stack: err.stack });
|
|
157
168
|
if (error instanceof websocket_exceptions_1.WebsocketNotAllowedException) {
|
|
158
169
|
return { handler: name, success: false, reason: error.message };
|
|
@@ -160,12 +171,16 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
160
171
|
return { handler: name, success: false, reason: 'Internal error' };
|
|
161
172
|
}
|
|
162
173
|
}))).filter((result) => result !== null);
|
|
163
|
-
|
|
174
|
+
const result = (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'ok', message: 'Event handled successfully', results }, { excludeExtraneousValues: false });
|
|
175
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayReturn(client, message, 'ok'));
|
|
176
|
+
return result;
|
|
164
177
|
}
|
|
165
178
|
catch (error) {
|
|
166
179
|
const err = error;
|
|
167
180
|
this.logger.error(`Error handling event: ${event}`, { message: err.message, stack: err.stack });
|
|
168
|
-
|
|
181
|
+
const result = (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'error', message: `Failed to handle event: ${event}` });
|
|
182
|
+
this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayReturn(client, message, 'error'));
|
|
183
|
+
return result;
|
|
169
184
|
}
|
|
170
185
|
}
|
|
171
186
|
sendMessage(event, payload) {
|
|
@@ -186,6 +201,13 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
186
201
|
this.logger.debug(`Emitting message: ${JSON.stringify(message)}`);
|
|
187
202
|
this.server.emit('event', message);
|
|
188
203
|
}
|
|
204
|
+
observeAcknowledgementTrace(callback) {
|
|
205
|
+
try {
|
|
206
|
+
callback();
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
}
|
|
210
|
+
}
|
|
189
211
|
sanitizeForLogging(obj) {
|
|
190
212
|
if (obj === null || typeof obj !== 'object') {
|
|
191
213
|
return obj;
|
|
@@ -343,6 +365,7 @@ exports.WebsocketGateway = WebsocketGateway = WebsocketGateway_1 = __decorate([
|
|
|
343
365
|
__metadata("design:paramtypes", [command_event_registry_service_1.CommandEventRegistryService,
|
|
344
366
|
event_emitter_1.EventEmitter2,
|
|
345
367
|
ws_auth_service_1.WsAuthService,
|
|
346
|
-
client_address_service_1.ClientAddressService
|
|
368
|
+
client_address_service_1.ClientAddressService,
|
|
369
|
+
command_acknowledgement_trace_service_1.CommandAcknowledgementTraceService])
|
|
347
370
|
], WebsocketGateway);
|
|
348
371
|
//# sourceMappingURL=websocket.gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/modules/websocket/gateway/websocket.gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAA0C;AAC1C,yCAA2C;AAE3C,yDAAsD;AACtD,iDAAiD;AACjD,mDAS4B;AAE5B,mDAA+D;AAC/D,2EAAmE;AACnE,sFAAiF;AACjF,8DAA2D;AAC3D,iEAAuD;AAEvD,oEAA+D;AAC/D,kEAA6D;AAC7D,wDAAsE;AACtE,+FAAyF;AACzF,iEAA4D;AAC5D,gEAOgC;AAChC,kEAAuE;AAYhE,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAO5B,YACkB,oBAAiD,EACjD,YAA2B,EAC3B,aAA4B,EAC5B,oBAA0C;QAH1C,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,iBAAY,GAAZ,YAAY,CAAe;QAC3B,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;QAVpD,mBAAc,GAAG,KAAK,CAAC;QAId,WAAM,GAAG,IAAA,8BAAqB,EAAC,2CAAqB,EAAE,kBAAkB,CAAC,CAAC;QAQ1F,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAa,EAAE,OAA4B,EAAE,EAAE;YACvE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM;QACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,SAAS,CAAC,MAAe;QACxB,MAAM,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QASjC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAc,EAAE,IAA2B,EAAQ,EAAE;YAC7D,IAAI,CAAC,aAAa;iBAChB,cAAc,CAAC,MAAM,CAAC;iBACtB,IAAI,CAAC,CAAC,SAAS,EAAQ,EAAE;gBACzB,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBAEhG,IAAI,CAAC,IAAI,mDAA4B,CAAC,cAAc,CAAC,CAAC,CAAC;oBAEvD,OAAO;gBACR,CAAC;gBAED,IAAI,EAAE,CAAC;YACR,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAQ,EAAE;gBAC/B,MAAM,GAAG,GAAG,KAAc,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,6CAA6C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAC7F,CAAC;gBAIF,IAAI,CAAC,IAAI,mDAA4B,CAAC,cAAc,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACjD,CAAC;IAID,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACpC,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAElD,MAAM,MAAM,CAAC,IAAI,CAAC,yCAAmB,CAAC,CAAC;YAEvC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAkB,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAE7E,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,KAAK,+BAAc,CAAC,OAAO,EAAE,CAAC;gBACjH,MAAM,MAAM,CAAC,IAAI,CAAC,2CAAqB,CAAC,CAAC;gBAGzC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACxB,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,CAAC;YACF,CAAC;YAMD,IACC,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;gBAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,0BAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,0BAAQ,CAAC,KAAK,CAAC,EACnF,CAAC;gBACF,MAAM,MAAM,CAAC,IAAI,CAAC,gCAAU,CAAC,CAAC;YAC/B,CAAC;YAGD,MAAM,WAAW,GAAG,IAAA,4BAAU,EAAC,2BAAW,EAAE;gBAC3C,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,UAAU,EAAE,QAAQ,IAAI,IAAI;gBAC5B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI;gBAC7B,UAAU,EAAE,iCAAiB,CAAC,SAAS;gBACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iCAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAI3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAE3E,MAAM,CAAC,UAAU,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;IAED,gBAAgB,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAkB,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QAG7E,MAAM,WAAW,GAAG,IAAA,4BAAU,EAAC,2BAAW,EAAE;YAC3C,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,UAAU,EAAE,QAAQ,IAAI,IAAI;YAC5B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI;YAC7B,UAAU,EAAE,iCAAiB,CAAC,YAAY;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iCAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAGK,AAAN,KAAK,CAAC,uBAAuB,CACb,QAA2B,EACvB,MAAc;QAEjC,IAAI,CAAC;YACJ,MAAM,MAAM,CAAC,IAAI,CAAC,mCAAa,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9F,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CACH,OAA0B,EACtB,MAAc;QAEjC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,KAAK,iBAAiB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;YAEvD,OAAO,IAAA,4BAAU,EAAC,qCAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,KAAK,qBAAqB,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAkB,CAAC;YAE7C,MAAM,OAAO,GAAG,CACf,MAAM,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;gBACvD,IAAI,CAAC;oBACJ,IAAI,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC1F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;oBAC9E,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAEzD,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAc,CAAC;oBAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;oBAEpF,IAAI,KAAK,YAAY,mDAA4B,EAAE,CAAC;wBACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjE,CAAC;oBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACpE,CAAC;YACF,CAAC,CAAC,CACF,CACD,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;YAEtC,OAAO,IAAA,4BAAU,EAChB,qCAAgB,EAChB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,EAChE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAClC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAEhG,OAAO,IAAA,4BAAU,EAAC,qCAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,KAAK,EAAE,EAAE,CAAC,CAAC;QACvG,CAAC;IACF,CAAC;IAEM,WAAW,CAAC,KAAa,EAAE,OAA4B;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAEzD,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG;YACf,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC;SACD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAsDO,kBAAkB,CAAC,GAAY;QACtC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;YAC3E,IAAI,kBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACP,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACF,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAQO,uBAAuB,CAAC,OAAgB;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,OAA4B;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAEzD,OAAO;QACR,CAAC;QAGD,IAAI,kBAAgB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG;YACf,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC;SACD,CAAC;QAGF,MAAM,SAAS,GAAI,OAA+C,EAAE,UAAgC,CAAC;QACrG,MAAM,iBAAiB,GACtB,kBAAgB,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC;QAE1G,IAAI,iBAAiB,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,WAAW,SAAS,EAAE,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,KAAK,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAGzG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mCAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAErD,OAAO;QACR,CAAC;QAID,IAAI,kBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEzF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gCAAU,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAElD,OAAO;QACR,CAAC;QAGD,IAAI,kBAAgB,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE5F,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mCAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAErD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE1F,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,2CAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mCAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,gBAAgB,CAAC,OAA4B;QAEpD,MAAM,aAAa,GAAG,CAAC,IAAa,EAAW,EAAE;YAEhD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC;YACb,CAAC;YAGD,IAAI,IAAA,yBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChC,CAAC;YAGD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAE9B,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClE,OAAO,IAAA,mCAAe,EAAC,IAAI,EAAE;wBAC5B,uBAAuB,EAAE,IAAI;wBAC7B,iBAAiB,EAAE,KAAK;wBACxB,gBAAgB,EAAE,KAAK;wBACvB,MAAM,EAAE,CAAC,KAAK,CAAC;wBACf,mBAAmB,EAAE,IAAI;qBACzB,CAAC,CAAC;gBACJ,CAAC;gBAGD,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAED,OAAO,MAAM,CAAC;YACf,CAAC;YAGD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,aAAa,CAAC,OAAO,CAAwB,CAAC;IACtD,CAAC;;AAvbW,4CAAgB;AAyPJ,wCAAuB,GAAG;IACjD,MAAM;IACN,cAAc;IACd,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,aAAa;CACb,AAR8C,CAQ7C;AAGsB,gDAA+B,GAAG;IACzD,uBAAuB;CACvB,AAFsD,CAErD;AAGsB,6CAA4B,GAAG;IACtD,6BAA6B;CAC7B,AAFmD,CAElD;AAMsB,0CAAyB,GAAG;IACnD,sBAAsB;IACtB,qBAAqB;IACrB,uBAAuB;CACvB,AAJgD,CAI/C;AAEsB,uCAAsB,GAAG,IAAI,GAAG,CAAC;IACxD,SAAS;IACT,UAAU;IACV,WAAW;IACX,eAAe;IACf,kBAAkB;IAClB,UAAU;IACV,OAAO;IACP,QAAQ;CACR,CAAC,AAT4C,CAS3C;AA5Rc;IADhB,IAAA,4BAAe,GAAE;8BACO,kBAAM;gDAAC;AA8I1B;IADL,IAAA,6BAAgB,EAAC,oBAAoB,CAAC;IAErC,WAAA,IAAA,wBAAW,GAAE,CAAA;IACb,WAAA,IAAA,4BAAe,GAAE,CAAA;;qCADO,uCAAiB;QACf,kBAAM;;+DAajC;AAGK;IADL,IAAA,6BAAgB,EAAC,SAAS,CAAC;IAE1B,WAAA,IAAA,wBAAW,GAAE,CAAA;IACb,WAAA,IAAA,4BAAe,GAAE,CAAA;;qCADM,uCAAiB;QACd,kBAAM;;qDAuDjC;2BA7NW,gBAAgB;IAN5B,IAAA,wBAAY,GAAE;IACd,IAAA,6BAAgB,EAAC;QACjB,IAAI,EAAE;YACL,MAAM,EAAE,GAAG;SACX;KACD,CAAC;qCASuC,4DAA2B;QACnC,6BAAa;QACZ,+BAAa;QACN,6CAAoB;GAXhD,gBAAgB,CAwb5B"}
|
|
1
|
+
{"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/modules/websocket/gateway/websocket.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { type FileHandle } from 'node:fs/promises';
|
|
2
|
+
import { Socket } from 'socket.io';
|
|
3
|
+
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
4
|
+
export interface CommandAcknowledgementTraceConfig {
|
|
5
|
+
readonly schemaVersion: 1;
|
|
6
|
+
readonly runId: string;
|
|
7
|
+
readonly target: {
|
|
8
|
+
readonly deviceId: string;
|
|
9
|
+
readonly channelId: string;
|
|
10
|
+
readonly propertyId: string;
|
|
11
|
+
};
|
|
12
|
+
readonly requests: readonly [
|
|
13
|
+
{
|
|
14
|
+
readonly phase: 'trial';
|
|
15
|
+
readonly requestId: string;
|
|
16
|
+
readonly value: boolean;
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
readonly phase: 'restoration';
|
|
20
|
+
readonly requestId: string;
|
|
21
|
+
readonly value: boolean;
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
readonly exportPath: string;
|
|
25
|
+
readonly captureDurationMs?: number;
|
|
26
|
+
readonly maxRecords?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare const COMMAND_ACKNOWLEDGEMENT_TRACE_OPTIONS: unique symbol;
|
|
29
|
+
type TraceState = 'armed' | 'recording' | 'closed' | 'invalid';
|
|
30
|
+
type TracePhase = 'trial' | 'restoration';
|
|
31
|
+
type TraceStage = 'socket-receipt' | 'gateway-entry' | 'handler-start' | 'handler-settled' | 'handler-skipped' | 'gateway-return' | 'gateway-throw' | 'ack-invoked' | 'ack-returned' | 'ack-threw' | 'socket-close';
|
|
32
|
+
interface TraceRecord {
|
|
33
|
+
readonly sequence: number;
|
|
34
|
+
readonly monotonicMs: number;
|
|
35
|
+
readonly stage: TraceStage;
|
|
36
|
+
readonly phase: TracePhase;
|
|
37
|
+
readonly requestId: string;
|
|
38
|
+
readonly metadata?: Record<string, boolean | number | string>;
|
|
39
|
+
}
|
|
40
|
+
interface CommandAcknowledgementTraceSnapshot {
|
|
41
|
+
readonly schemaVersion: 1;
|
|
42
|
+
readonly snapshotSequence: number;
|
|
43
|
+
readonly snapshotMonotonicMs: number;
|
|
44
|
+
readonly configFingerprint: string;
|
|
45
|
+
readonly process: {
|
|
46
|
+
readonly id: number;
|
|
47
|
+
readonly instanceId: string;
|
|
48
|
+
readonly runtimeSourceHash: string;
|
|
49
|
+
};
|
|
50
|
+
readonly runId: string;
|
|
51
|
+
readonly target: {
|
|
52
|
+
readonly deviceId: string;
|
|
53
|
+
readonly channelId: string;
|
|
54
|
+
readonly propertyId: string;
|
|
55
|
+
};
|
|
56
|
+
readonly state: TraceState;
|
|
57
|
+
readonly cutoffReason: string | null;
|
|
58
|
+
readonly socketTraceId: string | null;
|
|
59
|
+
readonly requests: readonly {
|
|
60
|
+
readonly phase: TracePhase;
|
|
61
|
+
readonly requestId: string;
|
|
62
|
+
readonly value: boolean;
|
|
63
|
+
readonly status: 'not-observed' | 'received';
|
|
64
|
+
readonly acknowledgementCalls: number;
|
|
65
|
+
}[];
|
|
66
|
+
readonly records: readonly TraceRecord[];
|
|
67
|
+
}
|
|
68
|
+
interface CommandAcknowledgementTraceFileSystem {
|
|
69
|
+
lstat(path: string): Promise<unknown>;
|
|
70
|
+
open(path: string, flags: 'r' | 'wx', mode?: number): Promise<FileHandle>;
|
|
71
|
+
link(existingPath: string, newPath: string): Promise<void>;
|
|
72
|
+
rename(oldPath: string, newPath: string): Promise<void>;
|
|
73
|
+
rm(path: string, options: {
|
|
74
|
+
force: boolean;
|
|
75
|
+
}): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
export declare class CommandAcknowledgementSnapshotWriter {
|
|
78
|
+
private readonly destination;
|
|
79
|
+
private readonly onFailure;
|
|
80
|
+
private readonly fileSystem;
|
|
81
|
+
private writing;
|
|
82
|
+
private pending;
|
|
83
|
+
private ownedDestination;
|
|
84
|
+
private readonly idleWaiters;
|
|
85
|
+
constructor(destination: string, onFailure: () => void, fileSystem?: CommandAcknowledgementTraceFileSystem);
|
|
86
|
+
queue(snapshot: CommandAcknowledgementTraceSnapshot): void;
|
|
87
|
+
waitForIdle(): Promise<void>;
|
|
88
|
+
private drain;
|
|
89
|
+
private write;
|
|
90
|
+
private assertDestinationIsAbsent;
|
|
91
|
+
private syncParentDirectory;
|
|
92
|
+
}
|
|
93
|
+
export declare class CommandAcknowledgementTraceService implements OnModuleInit, OnModuleDestroy {
|
|
94
|
+
private readonly config;
|
|
95
|
+
private readonly runtimeSourceHash;
|
|
96
|
+
private readonly configFingerprint;
|
|
97
|
+
private readonly processInstanceId;
|
|
98
|
+
private readonly requests;
|
|
99
|
+
private readonly attachedSockets;
|
|
100
|
+
private readonly disconnectListeners;
|
|
101
|
+
private readonly writer;
|
|
102
|
+
private socketContext;
|
|
103
|
+
private state;
|
|
104
|
+
private cutoffReason;
|
|
105
|
+
private records;
|
|
106
|
+
private nextSequence;
|
|
107
|
+
private nextSnapshotSequence;
|
|
108
|
+
private timer;
|
|
109
|
+
private exportFailed;
|
|
110
|
+
constructor(options?: CommandAcknowledgementTraceConfig | null);
|
|
111
|
+
static getSourceHash(): string;
|
|
112
|
+
onModuleInit(): void;
|
|
113
|
+
onModuleDestroy(): void;
|
|
114
|
+
isEnabled(): boolean;
|
|
115
|
+
waitForExports(): Promise<void>;
|
|
116
|
+
attachSocket(socket: Socket): void;
|
|
117
|
+
recordGatewayEntry(socket: Socket, message: unknown): void;
|
|
118
|
+
recordHandlerStart(socket: Socket, message: unknown, handlerName: string): void;
|
|
119
|
+
recordHandlerSettled(socket: Socket, message: unknown, handlerName: string, outcome: 'resolved' | 'null' | 'rejected'): void;
|
|
120
|
+
recordHandlerSkipped(socket: Socket, message: unknown, handlerName: string): void;
|
|
121
|
+
recordGatewayReturn(socket: Socket, message: unknown, status: 'ok' | 'error'): void;
|
|
122
|
+
recordGatewayThrow(socket: Socket, message: unknown): void;
|
|
123
|
+
recordSocketClose(socket: Socket, reason: string): void;
|
|
124
|
+
getSnapshot(): CommandAcknowledgementTraceSnapshot | null;
|
|
125
|
+
private observeSocketPacket;
|
|
126
|
+
private wrapAcknowledgement;
|
|
127
|
+
private static createAcknowledgementWrapper;
|
|
128
|
+
private recordForGateway;
|
|
129
|
+
private findRequestFromGatewayMessage;
|
|
130
|
+
private findRequest;
|
|
131
|
+
private matchesTarget;
|
|
132
|
+
private bindSocket;
|
|
133
|
+
private isCurrentSocket;
|
|
134
|
+
private removeObservedSocketListener;
|
|
135
|
+
private startTimer;
|
|
136
|
+
private close;
|
|
137
|
+
private invalidate;
|
|
138
|
+
private record;
|
|
139
|
+
private scheduleSnapshot;
|
|
140
|
+
private createSnapshot;
|
|
141
|
+
private handleExportFailure;
|
|
142
|
+
}
|
|
143
|
+
export {};
|