@camstack/addon-provider-rtsp 1.2.22 → 1.2.23

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
@@ -26420,9 +26420,21 @@ var RecordingLocationUsageSchema = object({
26420
26420
  * previously rendered as two identical "disks" with a nonsensical used
26421
26421
  * split — hydrate attribution across aliases is arbitrary by nature. */
26422
26422
  locationIds: array(string()).optional(),
26423
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
26423
+ /**
26424
+ * Filesystem root of the physical volume this row accounts — the only
26425
+ * operator-legible identity when a location has no `displayName` yet, and
26426
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
26427
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
26428
+ * it, and this schema must keep validating that older provider's payload.
26429
+ */
26430
+ root: string().optional(),
26431
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
26432
+ * the footage's SHARE of the volume, not how full the volume is — the disk
26433
+ * also holds everything that is not recordings. Volume fill is
26434
+ * `(totalBytes - availableBytes) / totalBytes`. */
26424
26435
  usedBytes: number(),
26425
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
26436
+ /** Free bytes on the location's volume; null when capacity is unknown
26437
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
26426
26438
  availableBytes: number().nullable(),
26427
26439
  /** Total bytes of the location's volume; null when unknown. */
26428
26440
  totalBytes: number().nullable()
@@ -26434,7 +26446,15 @@ var RecordingStorageUsageSchema = object({
26434
26446
  nodeId: string(),
26435
26447
  totalUsedBytes: number(),
26436
26448
  devices: array(RecordingDeviceUsageSchema),
26437
- locations: array(RecordingLocationUsageSchema)
26449
+ /**
26450
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
26451
+ * of the payload without it: the hub serves this method through a BAKED
26452
+ * router, so a hub whose framework train predates a change to this array
26453
+ * strips it out of an answer a newer recorder happily produced. A UI that
26454
+ * dereferences it unconditionally crashes the whole Storage page over a
26455
+ * missing disk bar.
26456
+ */
26457
+ locations: array(RecordingLocationUsageSchema).optional()
26438
26458
  });
26439
26459
  /**
26440
26460
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -37285,8 +37305,14 @@ Object.freeze({
37285
37305
  "network-access": "ingress",
37286
37306
  "smtp-provider": "email"
37287
37307
  });
37308
+ /** Schema defaults — an untouched sub-field must author exactly these. */
37309
+ var NC_AUDIO_DEFAULTS = {
37310
+ hitPercent: 60,
37311
+ samplingSeconds: 10
37312
+ };
37288
37313
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
37289
37314
  new Set(["devices", "classes"]);
37315
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
37290
37316
  /**
37291
37317
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
37292
37318
  *
package/dist/addon.mjs CHANGED
@@ -26396,9 +26396,21 @@ var RecordingLocationUsageSchema = object({
26396
26396
  * previously rendered as two identical "disks" with a nonsensical used
26397
26397
  * split — hydrate attribution across aliases is arbitrary by nature. */
26398
26398
  locationIds: array(string()).optional(),
26399
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
26399
+ /**
26400
+ * Filesystem root of the physical volume this row accounts — the only
26401
+ * operator-legible identity when a location has no `displayName` yet, and
26402
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
26403
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
26404
+ * it, and this schema must keep validating that older provider's payload.
26405
+ */
26406
+ root: string().optional(),
26407
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
26408
+ * the footage's SHARE of the volume, not how full the volume is — the disk
26409
+ * also holds everything that is not recordings. Volume fill is
26410
+ * `(totalBytes - availableBytes) / totalBytes`. */
26400
26411
  usedBytes: number(),
26401
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
26412
+ /** Free bytes on the location's volume; null when capacity is unknown
26413
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
26402
26414
  availableBytes: number().nullable(),
26403
26415
  /** Total bytes of the location's volume; null when unknown. */
26404
26416
  totalBytes: number().nullable()
@@ -26410,7 +26422,15 @@ var RecordingStorageUsageSchema = object({
26410
26422
  nodeId: string(),
26411
26423
  totalUsedBytes: number(),
26412
26424
  devices: array(RecordingDeviceUsageSchema),
26413
- locations: array(RecordingLocationUsageSchema)
26425
+ /**
26426
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
26427
+ * of the payload without it: the hub serves this method through a BAKED
26428
+ * router, so a hub whose framework train predates a change to this array
26429
+ * strips it out of an answer a newer recorder happily produced. A UI that
26430
+ * dereferences it unconditionally crashes the whole Storage page over a
26431
+ * missing disk bar.
26432
+ */
26433
+ locations: array(RecordingLocationUsageSchema).optional()
26414
26434
  });
26415
26435
  /**
26416
26436
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -37261,8 +37281,14 @@ Object.freeze({
37261
37281
  "network-access": "ingress",
37262
37282
  "smtp-provider": "email"
37263
37283
  });
37284
+ /** Schema defaults — an untouched sub-field must author exactly these. */
37285
+ var NC_AUDIO_DEFAULTS = {
37286
+ hitPercent: 60,
37287
+ samplingSeconds: 10
37288
+ };
37264
37289
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
37265
37290
  new Set(["devices", "classes"]);
37291
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
37266
37292
  /**
37267
37293
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
37268
37294
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-rtsp",
3
- "version": "1.2.22",
3
+ "version": "1.2.23",
4
4
  "description": "Generic RTSP camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",