@camstack/addon-decoder-nodeav 1.2.69 → 1.2.70

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/index.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  let node_crypto = require("node:crypto");
6
- //#region ../types/dist/event-category-BZL-fdNj.mjs
6
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
7
7
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
8
8
  EventCategory["SystemBoot"] = "system.boot";
9
9
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -375,6 +375,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
375
375
  */
376
376
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
377
377
  /**
378
+ * Cap event fired by every device that registers the `network-link`
379
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
380
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
381
+ * reading that moved.
382
+ */
383
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
384
+ /**
378
385
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
379
386
  * "wake in progress" window — between the Baichuan wake-up issue and
380
387
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23311,6 +23318,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23311
23318
  deviceId: number(),
23312
23319
  status: BatteryStatusSchema
23313
23320
  });
23321
+ /**
23322
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23323
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23324
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23325
+ * one Home Assistant projection.
23326
+ */
23327
+ var NetworkLinkStatusSchema = object({
23328
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23329
+ type: _enum([
23330
+ "wifi",
23331
+ "ethernet",
23332
+ "cellular",
23333
+ "unknown"
23334
+ ]),
23335
+ /**
23336
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23337
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23338
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23339
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23340
+ * SKIP a null rather than coerce it.
23341
+ */
23342
+ signalPercent: number().min(0).max(100).nullable(),
23343
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23344
+ rssiDbm: number().optional(),
23345
+ /** Network name of a wireless link, when the firmware reports it. */
23346
+ ssid: string().optional(),
23347
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23348
+ lastUpdated: number()
23349
+ });
23350
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23351
+ deviceId: number(),
23352
+ status: NetworkLinkStatusSchema
23353
+ });
23314
23354
  object({
23315
23355
  on: boolean(),
23316
23356
  /** Ms epoch of the last transition. 0 if never observed. */
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
- //#region ../types/dist/event-category-BZL-fdNj.mjs
2
+ //#region ../types/dist/event-category-zAv7pMUz.mjs
3
3
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4
4
  EventCategory["SystemBoot"] = "system.boot";
5
5
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -371,6 +371,13 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
371
371
  */
372
372
  EventCategory["BatteryOnStatusChanged"] = "battery.onStatusChanged";
373
373
  /**
374
+ * Cap event fired by every device that registers the `network-link`
375
+ * capability. Mirrors the cap definition's `onStatusChanged`. Carries
376
+ * `{ deviceId, status: NetworkLinkStatus }` — a link switch or a signal
377
+ * reading that moved.
378
+ */
379
+ EventCategory["NetworkLinkOnStatusChanged"] = "network-link.onStatusChanged";
380
+ /**
374
381
  * Emitted by the battery cap provider WHEN `wakeForStream` enters the
375
382
  * "wake in progress" window — between the Baichuan wake-up issue and
376
383
  * the camera's first dialed-back RTP packet. The stream-broker
@@ -23307,6 +23314,39 @@ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, meth
23307
23314
  deviceId: number(),
23308
23315
  status: BatteryStatusSchema
23309
23316
  });
23317
+ /**
23318
+ * Network-link snapshot. Same shape for every provider (a Reolink wifi
23319
+ * camera, a Home Assistant device with a signal-strength sensor, a Tapo
23320
+ * plug): one slice under `device.runtimeState['network-link']`, one badge,
23321
+ * one Home Assistant projection.
23322
+ */
23323
+ var NetworkLinkStatusSchema = object({
23324
+ /** The link the device is on. `'unknown'` = not read yet, not "no link". */
23325
+ type: _enum([
23326
+ "wifi",
23327
+ "ethernet",
23328
+ "cellular",
23329
+ "unknown"
23330
+ ]),
23331
+ /**
23332
+ * Link quality, 0..100 inclusive, normalised by the provider from whatever
23333
+ * the firmware reports (bars, RSSI, a vendor scale). **`null` means NOT
23334
+ * KNOWN or NOT APPLICABLE** — a wired link has no signal, and a wireless
23335
+ * one whose reading has not landed must not be drawn at 0 %. Consumers
23336
+ * SKIP a null rather than coerce it.
23337
+ */
23338
+ signalPercent: number().min(0).max(100).nullable(),
23339
+ /** Raw received signal strength in dBm, when the firmware reports one. */
23340
+ rssiDbm: number().optional(),
23341
+ /** Network name of a wireless link, when the firmware reports it. */
23342
+ ssid: string().optional(),
23343
+ /** Ms epoch of the last observation. Lets consumers reason about freshness. */
23344
+ lastUpdated: number()
23345
+ });
23346
+ DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.Light, DeviceType.Lock, DeviceType.Siren, object({
23347
+ deviceId: number(),
23348
+ status: NetworkLinkStatusSchema
23349
+ });
23310
23350
  object({
23311
23351
  on: boolean(),
23312
23352
  /** Ms epoch of the last transition. 0 if never observed. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-decoder-nodeav",
3
- "version": "1.2.69",
3
+ "version": "1.2.70",
4
4
  "description": "Standalone in-process node-av decoder addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",