@camstack/addon-provider-onvif 1.2.21 → 1.2.22

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
@@ -24422,9 +24422,21 @@ var RecordingLocationUsageSchema = object({
24422
24422
  * previously rendered as two identical "disks" with a nonsensical used
24423
24423
  * split — hydrate attribution across aliases is arbitrary by nature. */
24424
24424
  locationIds: array(string()).optional(),
24425
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
24425
+ /**
24426
+ * Filesystem root of the physical volume this row accounts — the only
24427
+ * operator-legible identity when a location has no `displayName` yet, and
24428
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
24429
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
24430
+ * it, and this schema must keep validating that older provider's payload.
24431
+ */
24432
+ root: string().optional(),
24433
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
24434
+ * the footage's SHARE of the volume, not how full the volume is — the disk
24435
+ * also holds everything that is not recordings. Volume fill is
24436
+ * `(totalBytes - availableBytes) / totalBytes`. */
24426
24437
  usedBytes: number(),
24427
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
24438
+ /** Free bytes on the location's volume; null when capacity is unknown
24439
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
24428
24440
  availableBytes: number().nullable(),
24429
24441
  /** Total bytes of the location's volume; null when unknown. */
24430
24442
  totalBytes: number().nullable()
@@ -24436,7 +24448,15 @@ var RecordingStorageUsageSchema = object({
24436
24448
  nodeId: string(),
24437
24449
  totalUsedBytes: number(),
24438
24450
  devices: array(RecordingDeviceUsageSchema),
24439
- locations: array(RecordingLocationUsageSchema)
24451
+ /**
24452
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
24453
+ * of the payload without it: the hub serves this method through a BAKED
24454
+ * router, so a hub whose framework train predates a change to this array
24455
+ * strips it out of an answer a newer recorder happily produced. A UI that
24456
+ * dereferences it unconditionally crashes the whole Storage page over a
24457
+ * missing disk bar.
24458
+ */
24459
+ locations: array(RecordingLocationUsageSchema).optional()
24440
24460
  });
24441
24461
  /**
24442
24462
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -33962,8 +33982,14 @@ Object.freeze({
33962
33982
  "network-access": "ingress",
33963
33983
  "smtp-provider": "email"
33964
33984
  });
33985
+ /** Schema defaults — an untouched sub-field must author exactly these. */
33986
+ var NC_AUDIO_DEFAULTS = {
33987
+ hitPercent: 60,
33988
+ samplingSeconds: 10
33989
+ };
33965
33990
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
33966
33991
  new Set(["devices", "classes"]);
33992
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
33967
33993
  /**
33968
33994
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
33969
33995
  *
package/dist/addon.mjs CHANGED
@@ -24423,9 +24423,21 @@ var RecordingLocationUsageSchema = object({
24423
24423
  * previously rendered as two identical "disks" with a nonsensical used
24424
24424
  * split — hydrate attribution across aliases is arbitrary by nature. */
24425
24425
  locationIds: array(string()).optional(),
24426
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
24426
+ /**
24427
+ * Filesystem root of the physical volume this row accounts — the only
24428
+ * operator-legible identity when a location has no `displayName` yet, and
24429
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
24430
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
24431
+ * it, and this schema must keep validating that older provider's payload.
24432
+ */
24433
+ root: string().optional(),
24434
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
24435
+ * the footage's SHARE of the volume, not how full the volume is — the disk
24436
+ * also holds everything that is not recordings. Volume fill is
24437
+ * `(totalBytes - availableBytes) / totalBytes`. */
24427
24438
  usedBytes: number(),
24428
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
24439
+ /** Free bytes on the location's volume; null when capacity is unknown
24440
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
24429
24441
  availableBytes: number().nullable(),
24430
24442
  /** Total bytes of the location's volume; null when unknown. */
24431
24443
  totalBytes: number().nullable()
@@ -24437,7 +24449,15 @@ var RecordingStorageUsageSchema = object({
24437
24449
  nodeId: string(),
24438
24450
  totalUsedBytes: number(),
24439
24451
  devices: array(RecordingDeviceUsageSchema),
24440
- locations: array(RecordingLocationUsageSchema)
24452
+ /**
24453
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
24454
+ * of the payload without it: the hub serves this method through a BAKED
24455
+ * router, so a hub whose framework train predates a change to this array
24456
+ * strips it out of an answer a newer recorder happily produced. A UI that
24457
+ * dereferences it unconditionally crashes the whole Storage page over a
24458
+ * missing disk bar.
24459
+ */
24460
+ locations: array(RecordingLocationUsageSchema).optional()
24441
24461
  });
24442
24462
  /**
24443
24463
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -33963,8 +33983,14 @@ Object.freeze({
33963
33983
  "network-access": "ingress",
33964
33984
  "smtp-provider": "email"
33965
33985
  });
33986
+ /** Schema defaults — an untouched sub-field must author exactly these. */
33987
+ var NC_AUDIO_DEFAULTS = {
33988
+ hitPercent: 60,
33989
+ samplingSeconds: 10
33990
+ };
33966
33991
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
33967
33992
  new Set(["devices", "classes"]);
33993
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
33968
33994
  /**
33969
33995
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
33970
33996
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-onvif",
3
- "version": "1.2.21",
3
+ "version": "1.2.22",
4
4
  "description": "ONVIF camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",