@nubisco/openbridge 0.38.6 → 0.39.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * What a person reported about a room, with the machine's own numbers attached.
3
+ *
4
+ * Some devices control a variable they cannot measure. A heat pump with no room
5
+ * sensor is told what temperature water to send out, and whether that actually
6
+ * keeps the house warm is knowable only to whoever lives there. Everything else
7
+ * in that loop is inference: the "current temperature" a heat pump reports is
8
+ * usually its own return water, not the room.
9
+ *
10
+ * So this is the one real measurement in the chain, and it arrives by someone
11
+ * typing it in. Each report is stored with the machine state at that moment, so
12
+ * it can later be read as a labelled sample: at this outside temperature, with
13
+ * this setpoint, the house was actually this.
14
+ *
15
+ * Deliberately never rolled. The event log next door caps and rotates because
16
+ * it is a high-volume timeline; these are sparse (a handful a month at most),
17
+ * span seasons, and a calibration dataset that silently discarded last winter
18
+ * would be worse than none. The size guard exists only to catch a bug writing
19
+ * in a loop.
20
+ */
21
+ export interface DeviceObservation {
22
+ /** ISO-8601, set here so a client cannot disagree about the clock. */
23
+ at: string;
24
+ /** What the person reported the room actually is. */
25
+ roomTemperature: number;
26
+ /**
27
+ * Their verdict, which is often worth more than the number.
28
+ *
29
+ * A thermometer can be two degrees off and the reading still useless on its
30
+ * own, but "this is too cold" is never wrong about the thing that matters.
31
+ * It also makes "about right" samples identifiable, and those are the ones a
32
+ * curve most needs and a frustrated user least often files.
33
+ */
34
+ comfort: 'cold' | 'ok' | 'warm';
35
+ /** Anything the person wants to add: "sunny all afternoon", "window open". */
36
+ note?: string;
37
+ /**
38
+ * Machine state captured at submit time, supplied by the plugin.
39
+ *
40
+ * Without this a report is unusable. A house at 24 degrees with cold
41
+ * radiators on a sunny afternoon and a house at 24 degrees that the heating
42
+ * worked to reach are the same number and opposite evidence.
43
+ */
44
+ context?: Record<string, unknown>;
45
+ }
46
+ /** Most a single query returns, newest first. */
47
+ export declare const MAX_QUERY = 1000;
48
+ export declare class ObservationStore {
49
+ private dir;
50
+ constructor(home: string);
51
+ private fileFor;
52
+ /**
53
+ * Records one observation.
54
+ *
55
+ * JSON lines rather than a JSON array: appending to an array means reading
56
+ * and rewriting the whole file every time, which is what made the energy
57
+ * history slow enough to need rewriting.
58
+ */
59
+ append(deviceId: string, observation: DeviceObservation): void;
60
+ /** Observations for a device, newest first. */
61
+ list(deviceId: string, limit?: number): DeviceObservation[];
62
+ /** How many observations exist, for showing whether there is enough to judge. */
63
+ count(deviceId: string): number;
64
+ }
65
+ /** Rejects anything that would poison the dataset, returning why. */
66
+ export declare function validateObservation(body: unknown): {
67
+ ok: true;
68
+ value: DeviceObservation;
69
+ } | {
70
+ ok: false;
71
+ error: string;
72
+ };
73
+ //# sourceMappingURL=observations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observations.d.ts","sourceRoot":"","sources":["../src/observations.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAA;IACV,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAA;IACvB;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAA;IAC/B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAID,iDAAiD;AACjD,eAAO,MAAM,SAAS,OAAO,CAAA;AAE7B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAQ;gBAEP,IAAI,EAAE,MAAM;IAIxB,OAAO,CAAC,OAAO;IAOf;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAW9D,+CAA+C;IAC/C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,iBAAiB,EAAE;IAsBxD,iFAAiF;IACjF,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAOhC;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0BvE"}
@@ -0,0 +1,93 @@
1
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync } from 'fs';
2
+ import { join } from 'path';
3
+ /** Refuse to grow past this; reaching it means something is writing in a loop. */
4
+ const MAX_BYTES = 4 * 1024 * 1024;
5
+ /** Most a single query returns, newest first. */
6
+ export const MAX_QUERY = 1000;
7
+ export class ObservationStore {
8
+ dir;
9
+ constructor(home) {
10
+ this.dir = join(home, 'observations');
11
+ }
12
+ fileFor(deviceId) {
13
+ // Device ids come from plugins and reach the filesystem here, so anything
14
+ // that could climb out of the directory is replaced rather than trusted.
15
+ const safe = deviceId.replace(/[^A-Za-z0-9._-]/g, '_');
16
+ return join(this.dir, `${safe}.jsonl`);
17
+ }
18
+ /**
19
+ * Records one observation.
20
+ *
21
+ * JSON lines rather than a JSON array: appending to an array means reading
22
+ * and rewriting the whole file every time, which is what made the energy
23
+ * history slow enough to need rewriting.
24
+ */
25
+ append(deviceId, observation) {
26
+ mkdirSync(this.dir, { recursive: true });
27
+ const file = this.fileFor(deviceId);
28
+ if (existsSync(file) && statSync(file).size > MAX_BYTES) {
29
+ throw new Error(`Observation log for ${deviceId} has exceeded ${MAX_BYTES} bytes and was not appended to`);
30
+ }
31
+ appendFileSync(file, JSON.stringify(observation) + '\n', 'utf8');
32
+ }
33
+ /** Observations for a device, newest first. */
34
+ list(deviceId, limit = 100) {
35
+ const file = this.fileFor(deviceId);
36
+ if (!existsSync(file))
37
+ return [];
38
+ const capped = Math.min(Math.max(1, limit), MAX_QUERY);
39
+ const lines = readFileSync(file, 'utf8').split('\n');
40
+ const out = [];
41
+ // Backwards, so a long history does not cost a full parse to show ten rows.
42
+ for (let i = lines.length - 1; i >= 0 && out.length < capped; i--) {
43
+ const line = lines[i]?.trim();
44
+ if (!line)
45
+ continue;
46
+ try {
47
+ out.push(JSON.parse(line));
48
+ }
49
+ catch {
50
+ // One torn line, from a power cut mid-append, must not take the rest
51
+ // of the history with it.
52
+ }
53
+ }
54
+ return out;
55
+ }
56
+ /** How many observations exist, for showing whether there is enough to judge. */
57
+ count(deviceId) {
58
+ const file = this.fileFor(deviceId);
59
+ if (!existsSync(file))
60
+ return 0;
61
+ return readFileSync(file, 'utf8')
62
+ .split('\n')
63
+ .filter((l) => l.trim()).length;
64
+ }
65
+ }
66
+ /** Rejects anything that would poison the dataset, returning why. */
67
+ export function validateObservation(body) {
68
+ if (typeof body !== 'object' || body === null)
69
+ return { ok: false, error: 'body must be an object' };
70
+ const b = body;
71
+ const temp = Number(b.roomTemperature);
72
+ if (!Number.isFinite(temp))
73
+ return { ok: false, error: 'roomTemperature must be a number' };
74
+ // Wide on purpose: this is a sanity bound against a typo or a Fahrenheit
75
+ // reading, not an opinion about what a comfortable room is.
76
+ if (temp < -20 || temp > 60)
77
+ return { ok: false, error: 'roomTemperature must be between -20 and 60' };
78
+ const comfort = b.comfort;
79
+ if (comfort !== 'cold' && comfort !== 'ok' && comfort !== 'warm') {
80
+ return { ok: false, error: "comfort must be 'cold', 'ok' or 'warm'" };
81
+ }
82
+ const note = b.note === undefined || b.note === null ? undefined : String(b.note).slice(0, 500);
83
+ return {
84
+ ok: true,
85
+ value: {
86
+ at: new Date().toISOString(),
87
+ roomTemperature: temp,
88
+ comfort,
89
+ ...(note ? { note } : {}),
90
+ },
91
+ };
92
+ }
93
+ //# sourceMappingURL=observations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observations.js","sourceRoot":"","sources":["../src/observations.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -4,6 +4,7 @@ import type { HomebridgeAPI } from '@nubisco/openbridge-compatibility-homebridge
4
4
  import { OPENBRIDGE_VERSION } from './version.js';
5
5
  export { OPENBRIDGE_VERSION };
6
6
  import { DeviceEventLog } from './device-events.js';
7
+ import { ObservationStore } from './observations.js';
7
8
  import type { HomeKitVisibility } from './homekit-visibility.js';
8
9
  import { type HomeKitServiceTypes } from './homekit-service-type.js';
9
10
  export interface HapInfo {
@@ -32,5 +33,14 @@ resolveNativeAccessory?: ((deviceId: string) => unknown | null) | null,
32
33
  /** UUID of the accessory a native plugin published for a device, if any. */
33
34
  nativeAccessoryUuid?: ((deviceId: string) => string | null) | null,
34
35
  /** Per-device event timeline, written by plugins through ctx.recordEvent. */
35
- deviceEvents?: DeviceEventLog | null): Promise<Fastify.FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault>>;
36
+ deviceEvents?: DeviceEventLog | null,
37
+ /** Person-reported observations for devices that cannot measure themselves. */
38
+ observations?: ObservationStore | null,
39
+ /**
40
+ * Machine state to attach to an observation, asked of the plugin at submit
41
+ * time. Without it a report is unusable: a house at 24 degrees with cold
42
+ * radiators on a sunny afternoon and one the heating worked to reach are the
43
+ * same number and opposite evidence.
44
+ */
45
+ observationContext?: ((deviceId: string) => Record<string, unknown> | undefined) | null): Promise<Fastify.FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault>>;
36
46
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAa7B,OAAO,KAAK,EAAE,cAAc,EAA0C,MAAM,0BAA0B,CAAA;AAItG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AASjF,OAAO,EAA4B,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAwC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,OAAO;IACtB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAWD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,OAAO,GAAE,OAAO,GAAG,IAAW,EAC9B,kBAAkB,GAAE,MAAM,EAAO,EACjC,mBAAmB,GAAE,GAAG,CAAC,MAAM,CAAa,EAC5C,QAAQ,GAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAa,EAC3E,kBAAkB,GAAE,GAAG,CAAC,MAAM,CAAa,EAC3C,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,EAClD,mBAAmB,GAAE,mBAAmB,GAAG,IAAW;AACtD;;;;GAIG;AACH,sBAAsB,GAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,IAAW;AAC5E,4EAA4E;AAC5E,mBAAmB,GAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAW;AACxE,6EAA6E;AAC7E,YAAY,GAAE,cAAc,GAAG,IAAW,sSAwxD3C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAa7B,OAAO,KAAK,EAAE,cAAc,EAA0C,MAAM,0BAA0B,CAAA;AAItG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AASjF,OAAO,EAA4B,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAwC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,OAAO;IACtB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAWD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,aAAa,GAAG,IAAW,EACnC,OAAO,GAAE,OAAO,GAAG,IAAW,EAC9B,kBAAkB,GAAE,MAAM,EAAO,EACjC,mBAAmB,GAAE,GAAG,CAAC,MAAM,CAAa,EAC5C,QAAQ,GAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAa,EAC3E,kBAAkB,GAAE,GAAG,CAAC,MAAM,CAAa,EAC3C,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,EAClD,mBAAmB,GAAE,mBAAmB,GAAG,IAAW;AACtD;;;;GAIG;AACH,sBAAsB,GAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,GAAG,IAAW;AAC5E,4EAA4E;AAC5E,mBAAmB,GAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAW;AACxE,6EAA6E;AAC7E,YAAY,GAAE,cAAc,GAAG,IAAW;AAC1C,+EAA+E;AAC/E,YAAY,GAAE,gBAAgB,GAAG,IAAW;AAC5C;;;;;GAKG;AACH,kBAAkB,GAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,IAAW,sSAszD9F"}
package/dist/server.js CHANGED
@@ -29,6 +29,7 @@ const uiAvailable = !!uiDist;
29
29
  // Set once the optional node-pty dependency is confirmed loadable (see /ws/shell below).
30
30
  let shellAvailable = false;
31
31
  import { OPENBRIDGE_HOME, OB_PLUGINS_DIR, HB_PLUGINS_DIR } from './daemon.js';
32
+ import { validateObservation } from './observations.js';
32
33
  import { DeviceSeries } from './timeseries.js';
33
34
  import { CONVERTIBLE_SERVICES, isConvertible, } from './homekit-service-type.js';
34
35
  /** Find a registered device by id across every plugin. */
@@ -50,9 +51,20 @@ resolveNativeAccessory = null,
50
51
  /** UUID of the accessory a native plugin published for a device, if any. */
51
52
  nativeAccessoryUuid = null,
52
53
  /** Per-device event timeline, written by plugins through ctx.recordEvent. */
53
- deviceEvents = null) {
54
+ deviceEvents = null,
55
+ /** Person-reported observations for devices that cannot measure themselves. */
56
+ observations = null,
57
+ /**
58
+ * Machine state to attach to an observation, asked of the plugin at submit
59
+ * time. Without it a report is unusable: a house at 24 degrees with cold
60
+ * radiators on a sunny afternoon and one the heating worked to reach are the
61
+ * same number and opposite evidence.
62
+ */
63
+ observationContext = null) {
54
64
  const app = Fastify({ logger: false });
55
- await app.register(cors, { origin: true });
65
+ // @fastify/cors 11 narrowed its default to the CORS-safelisted methods. Keep the
66
+ // set it allowed before, so cross-origin clients see the same preflight answers.
67
+ await app.register(cors, { origin: true, methods: 'GET,HEAD,PUT,PATCH,POST,DELETE' });
56
68
  await app.register(websocket);
57
69
  // Optional: Nubisco Platform auth. No-op when PLATFORM_ENABLED is unset.
58
70
  const authConfig = loadAuthConfig();
@@ -109,8 +121,7 @@ deviceEvents = null) {
109
121
  };
110
122
  });
111
123
  // ─── Update progress WebSocket ────────────────────────────────────────────
112
- app.get('/ws/updates', { websocket: true }, (connection) => {
113
- const ws = connection.socket;
124
+ app.get('/ws/updates', { websocket: true }, (ws) => {
114
125
  const listener = (msg) => {
115
126
  try {
116
127
  ws.send(JSON.stringify(msg));
@@ -316,13 +327,42 @@ deviceEvents = null) {
316
327
  const limit = Number(req.query.limit ?? 100);
317
328
  return { events: deviceEvents.read(req.params.id, Number.isFinite(limit) ? limit : 100) };
318
329
  });
330
+ // ─── Observations ─────────────────────────────────────────────────────────
331
+ // What a person reports about a room, for devices that control something
332
+ // they cannot measure. See observations.ts for why this exists at all.
333
+ app.get('/api/devices/:id/observations', async (req, reply) => {
334
+ if (!observations)
335
+ return reply.code(503).send({ error: 'observation store unavailable' });
336
+ const limit = Number(req.query.limit ?? 100);
337
+ return {
338
+ observations: observations.list(req.params.id, Number.isFinite(limit) ? limit : 100),
339
+ total: observations.count(req.params.id),
340
+ };
341
+ });
342
+ app.post('/api/devices/:id/observations', async (req, reply) => {
343
+ if (!observations)
344
+ return reply.code(503).send({ error: 'observation store unavailable' });
345
+ const parsed = validateObservation(req.body);
346
+ if (!parsed.ok)
347
+ return reply.code(400).send({ error: parsed.error });
348
+ // The plugin's numbers are attached here rather than trusted from the
349
+ // client, so a report cannot claim conditions that were not happening.
350
+ const context = observationContext?.(req.params.id);
351
+ const record = { ...parsed.value, ...(context ? { context } : {}) };
352
+ try {
353
+ observations.append(req.params.id, record);
354
+ }
355
+ catch (err) {
356
+ return reply.code(507).send({ error: err instanceof Error ? err.message : String(err) });
357
+ }
358
+ return { observation: record, total: observations.count(req.params.id) };
359
+ });
319
360
  // ─── HomeKit QR ───────────────────────────────────────────────────────────
320
361
  app.get('/api/qr', async () => {
321
362
  return hapInfo ?? { setupURI: null, pincode: null };
322
363
  });
323
364
  // ─── Live metrics WebSocket ───────────────────────────────────────────────
324
- app.get('/ws/metrics', { websocket: true }, (connection) => {
325
- const ws = connection.socket;
365
+ app.get('/ws/metrics', { websocket: true }, (ws) => {
326
366
  // Send history immediately on connect
327
367
  ws.send(JSON.stringify({ type: 'history', data: getHistory() }));
328
368
  const unsub = onMetrics((snap) => {
@@ -1425,8 +1465,7 @@ deviceEvents = null) {
1425
1465
  const entries = Logger.getEntries(query.plugin, query.limit ? parseInt(query.limit) : 200);
1426
1466
  return { entries };
1427
1467
  });
1428
- app.get('/ws/logs', { websocket: true }, (connection) => {
1429
- const ws = connection.socket;
1468
+ app.get('/ws/logs', { websocket: true }, (ws) => {
1430
1469
  log.debug('Log WebSocket client connected');
1431
1470
  const unsubscribe = Logger.subscribe((entry) => {
1432
1471
  if (ws.readyState === ws.OPEN)
@@ -1648,8 +1687,7 @@ deviceEvents = null) {
1648
1687
  catch {
1649
1688
  log.info('node-pty is not installed: the interactive shell pane is disabled. Everything else runs normally.');
1650
1689
  }
1651
- app.get('/ws/shell', { websocket: true }, (connection) => {
1652
- const ws = connection.socket;
1690
+ app.get('/ws/shell', { websocket: true }, (ws) => {
1653
1691
  let pty = null;
1654
1692
  if (!shellAvailable) {
1655
1693
  ws.send(`\r\n\x1b[33mInteractive shell unavailable: the optional 'node-pty' dependency is not installed.\x1b[0m\r\n` +
@@ -1704,8 +1742,7 @@ deviceEvents = null) {
1704
1742
  });
1705
1743
  });
1706
1744
  // Terminal WebSocket: streams ANSI-formatted log lines for xterm.js
1707
- app.get('/ws/terminal', { websocket: true }, (connection) => {
1708
- const ws = connection.socket;
1745
+ app.get('/ws/terminal', { websocket: true }, (ws) => {
1709
1746
  function ansiLine(entry) {
1710
1747
  const ANSI = {
1711
1748
  debug: '\x1b[90m',