@camstack/addon-provider-amcrest 0.2.23 → 0.2.24
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 +29 -3
- package/dist/addon.mjs +29 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -26437,9 +26437,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26437
26437
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26438
26438
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26439
26439
|
locationIds: array(string()).optional(),
|
|
26440
|
-
/**
|
|
26440
|
+
/**
|
|
26441
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26442
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26443
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26444
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26445
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26446
|
+
*/
|
|
26447
|
+
root: string().optional(),
|
|
26448
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26449
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26450
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26451
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26441
26452
|
usedBytes: number(),
|
|
26442
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26453
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26454
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26443
26455
|
availableBytes: number().nullable(),
|
|
26444
26456
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26445
26457
|
totalBytes: number().nullable()
|
|
@@ -26451,7 +26463,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26451
26463
|
nodeId: string(),
|
|
26452
26464
|
totalUsedBytes: number(),
|
|
26453
26465
|
devices: array(RecordingDeviceUsageSchema),
|
|
26454
|
-
|
|
26466
|
+
/**
|
|
26467
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26468
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26469
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26470
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26471
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26472
|
+
* missing disk bar.
|
|
26473
|
+
*/
|
|
26474
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26455
26475
|
});
|
|
26456
26476
|
/**
|
|
26457
26477
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37565,8 +37585,14 @@ Object.freeze({
|
|
|
37565
37585
|
"network-access": "ingress",
|
|
37566
37586
|
"smtp-provider": "email"
|
|
37567
37587
|
});
|
|
37588
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37589
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37590
|
+
hitPercent: 60,
|
|
37591
|
+
samplingSeconds: 10
|
|
37592
|
+
};
|
|
37568
37593
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37569
37594
|
new Set(["devices", "classes"]);
|
|
37595
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37570
37596
|
/**
|
|
37571
37597
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37572
37598
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -26438,9 +26438,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26438
26438
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26439
26439
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26440
26440
|
locationIds: array(string()).optional(),
|
|
26441
|
-
/**
|
|
26441
|
+
/**
|
|
26442
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26443
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26444
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26445
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26446
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26447
|
+
*/
|
|
26448
|
+
root: string().optional(),
|
|
26449
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26450
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26451
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26452
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26442
26453
|
usedBytes: number(),
|
|
26443
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26454
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26455
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26444
26456
|
availableBytes: number().nullable(),
|
|
26445
26457
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26446
26458
|
totalBytes: number().nullable()
|
|
@@ -26452,7 +26464,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26452
26464
|
nodeId: string(),
|
|
26453
26465
|
totalUsedBytes: number(),
|
|
26454
26466
|
devices: array(RecordingDeviceUsageSchema),
|
|
26455
|
-
|
|
26467
|
+
/**
|
|
26468
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26469
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26470
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26471
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26472
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26473
|
+
* missing disk bar.
|
|
26474
|
+
*/
|
|
26475
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26456
26476
|
});
|
|
26457
26477
|
/**
|
|
26458
26478
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37566,8 +37586,14 @@ Object.freeze({
|
|
|
37566
37586
|
"network-access": "ingress",
|
|
37567
37587
|
"smtp-provider": "email"
|
|
37568
37588
|
});
|
|
37589
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37590
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37591
|
+
hitPercent: 60,
|
|
37592
|
+
samplingSeconds: 10
|
|
37593
|
+
};
|
|
37569
37594
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37570
37595
|
new Set(["devices", "classes"]);
|
|
37596
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37571
37597
|
/**
|
|
37572
37598
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37573
37599
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-amcrest",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.24",
|
|
4
4
|
"description": "Amcrest/Dahua camera device provider addon for CamStack — Dahua CGI over HTTP(S) with digest auth (snapshot, RTSP catalog, PTZ, image/day-night config)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|