@camstack/addon-provider-reolink 1.2.44 → 1.2.45

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/addon.js CHANGED
@@ -26669,9 +26669,21 @@ var RecordingLocationUsageSchema = object({
26669
26669
  * previously rendered as two identical "disks" with a nonsensical used
26670
26670
  * split — hydrate attribution across aliases is arbitrary by nature. */
26671
26671
  locationIds: array(string()).optional(),
26672
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
26672
+ /**
26673
+ * Filesystem root of the physical volume this row accounts — the only
26674
+ * operator-legible identity when a location has no `displayName` yet, and
26675
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
26676
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
26677
+ * it, and this schema must keep validating that older provider's payload.
26678
+ */
26679
+ root: string().optional(),
26680
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
26681
+ * the footage's SHARE of the volume, not how full the volume is — the disk
26682
+ * also holds everything that is not recordings. Volume fill is
26683
+ * `(totalBytes - availableBytes) / totalBytes`. */
26673
26684
  usedBytes: number(),
26674
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
26685
+ /** Free bytes on the location's volume; null when capacity is unknown
26686
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
26675
26687
  availableBytes: number().nullable(),
26676
26688
  /** Total bytes of the location's volume; null when unknown. */
26677
26689
  totalBytes: number().nullable()
@@ -26683,7 +26695,15 @@ var RecordingStorageUsageSchema = object({
26683
26695
  nodeId: string(),
26684
26696
  totalUsedBytes: number(),
26685
26697
  devices: array(RecordingDeviceUsageSchema),
26686
- locations: array(RecordingLocationUsageSchema)
26698
+ /**
26699
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
26700
+ * of the payload without it: the hub serves this method through a BAKED
26701
+ * router, so a hub whose framework train predates a change to this array
26702
+ * strips it out of an answer a newer recorder happily produced. A UI that
26703
+ * dereferences it unconditionally crashes the whole Storage page over a
26704
+ * missing disk bar.
26705
+ */
26706
+ locations: array(RecordingLocationUsageSchema).optional()
26687
26707
  });
26688
26708
  /**
26689
26709
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -37746,8 +37766,14 @@ Object.freeze({
37746
37766
  "network-access": "ingress",
37747
37767
  "smtp-provider": "email"
37748
37768
  });
37769
+ /** Schema defaults — an untouched sub-field must author exactly these. */
37770
+ var NC_AUDIO_DEFAULTS = {
37771
+ hitPercent: 60,
37772
+ samplingSeconds: 10
37773
+ };
37749
37774
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
37750
37775
  new Set(["devices", "classes"]);
37776
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
37751
37777
  /**
37752
37778
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
37753
37779
  *
package/dist/addon.mjs CHANGED
@@ -26664,9 +26664,21 @@ var RecordingLocationUsageSchema = object({
26664
26664
  * previously rendered as two identical "disks" with a nonsensical used
26665
26665
  * split — hydrate attribution across aliases is arbitrary by nature. */
26666
26666
  locationIds: array(string()).optional(),
26667
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
26667
+ /**
26668
+ * Filesystem root of the physical volume this row accounts — the only
26669
+ * operator-legible identity when a location has no `displayName` yet, and
26670
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
26671
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
26672
+ * it, and this schema must keep validating that older provider's payload.
26673
+ */
26674
+ root: string().optional(),
26675
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
26676
+ * the footage's SHARE of the volume, not how full the volume is — the disk
26677
+ * also holds everything that is not recordings. Volume fill is
26678
+ * `(totalBytes - availableBytes) / totalBytes`. */
26668
26679
  usedBytes: number(),
26669
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
26680
+ /** Free bytes on the location's volume; null when capacity is unknown
26681
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
26670
26682
  availableBytes: number().nullable(),
26671
26683
  /** Total bytes of the location's volume; null when unknown. */
26672
26684
  totalBytes: number().nullable()
@@ -26678,7 +26690,15 @@ var RecordingStorageUsageSchema = object({
26678
26690
  nodeId: string(),
26679
26691
  totalUsedBytes: number(),
26680
26692
  devices: array(RecordingDeviceUsageSchema),
26681
- locations: array(RecordingLocationUsageSchema)
26693
+ /**
26694
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
26695
+ * of the payload without it: the hub serves this method through a BAKED
26696
+ * router, so a hub whose framework train predates a change to this array
26697
+ * strips it out of an answer a newer recorder happily produced. A UI that
26698
+ * dereferences it unconditionally crashes the whole Storage page over a
26699
+ * missing disk bar.
26700
+ */
26701
+ locations: array(RecordingLocationUsageSchema).optional()
26682
26702
  });
26683
26703
  /**
26684
26704
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -37741,8 +37761,14 @@ Object.freeze({
37741
37761
  "network-access": "ingress",
37742
37762
  "smtp-provider": "email"
37743
37763
  });
37764
+ /** Schema defaults — an untouched sub-field must author exactly these. */
37765
+ var NC_AUDIO_DEFAULTS = {
37766
+ hitPercent: 60,
37767
+ samplingSeconds: 10
37768
+ };
37744
37769
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
37745
37770
  new Set(["devices", "classes"]);
37771
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
37746
37772
  /**
37747
37773
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
37748
37774
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-reolink",
3
- "version": "1.2.44",
3
+ "version": "1.2.45",
4
4
  "description": "Reolink camera device provider addon for CamStack — native Baichuan protocol",
5
5
  "keywords": [
6
6
  "camstack",