@camstack/addon-provider-amcrest 0.2.22 → 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 +37 -3
- package/dist/addon.mjs +37 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -20319,6 +20319,14 @@ var ClipSchema = object({
|
|
|
20319
20319
|
endMs: number()
|
|
20320
20320
|
}),
|
|
20321
20321
|
/**
|
|
20322
|
+
* Distinct object classes attached to this visit (`person`, `car`, …),
|
|
20323
|
+
* dominant first, capped at {@link MAX_CLIP_LABELS}. The ribbon renders these
|
|
20324
|
+
* instead of the bare kind — "Object" tells the operator nothing a colour bar
|
|
20325
|
+
* did not. Absent (never empty) when the visit attached no classified object
|
|
20326
|
+
* event, so a motion/audio-only visit keeps its kind label.
|
|
20327
|
+
*/
|
|
20328
|
+
labels: array(string()).max(3).optional(),
|
|
20329
|
+
/**
|
|
20322
20330
|
* Lazy thumbnail URL, never inlined.
|
|
20323
20331
|
*
|
|
20324
20332
|
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
@@ -26429,9 +26437,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26429
26437
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26430
26438
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26431
26439
|
locationIds: array(string()).optional(),
|
|
26432
|
-
/**
|
|
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`. */
|
|
26433
26452
|
usedBytes: number(),
|
|
26434
|
-
/** 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). */
|
|
26435
26455
|
availableBytes: number().nullable(),
|
|
26436
26456
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26437
26457
|
totalBytes: number().nullable()
|
|
@@ -26443,7 +26463,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26443
26463
|
nodeId: string(),
|
|
26444
26464
|
totalUsedBytes: number(),
|
|
26445
26465
|
devices: array(RecordingDeviceUsageSchema),
|
|
26446
|
-
|
|
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()
|
|
26447
26475
|
});
|
|
26448
26476
|
/**
|
|
26449
26477
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37557,8 +37585,14 @@ Object.freeze({
|
|
|
37557
37585
|
"network-access": "ingress",
|
|
37558
37586
|
"smtp-provider": "email"
|
|
37559
37587
|
});
|
|
37588
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37589
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37590
|
+
hitPercent: 60,
|
|
37591
|
+
samplingSeconds: 10
|
|
37592
|
+
};
|
|
37560
37593
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37561
37594
|
new Set(["devices", "classes"]);
|
|
37595
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37562
37596
|
/**
|
|
37563
37597
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37564
37598
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -20320,6 +20320,14 @@ var ClipSchema = object({
|
|
|
20320
20320
|
endMs: number()
|
|
20321
20321
|
}),
|
|
20322
20322
|
/**
|
|
20323
|
+
* Distinct object classes attached to this visit (`person`, `car`, …),
|
|
20324
|
+
* dominant first, capped at {@link MAX_CLIP_LABELS}. The ribbon renders these
|
|
20325
|
+
* instead of the bare kind — "Object" tells the operator nothing a colour bar
|
|
20326
|
+
* did not. Absent (never empty) when the visit attached no classified object
|
|
20327
|
+
* event, so a motion/audio-only visit keeps its kind label.
|
|
20328
|
+
*/
|
|
20329
|
+
labels: array(string()).max(3).optional(),
|
|
20330
|
+
/**
|
|
20323
20331
|
* Lazy thumbnail URL, never inlined.
|
|
20324
20332
|
*
|
|
20325
20333
|
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
@@ -26430,9 +26438,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26430
26438
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26431
26439
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26432
26440
|
locationIds: array(string()).optional(),
|
|
26433
|
-
/**
|
|
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`. */
|
|
26434
26453
|
usedBytes: number(),
|
|
26435
|
-
/** 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). */
|
|
26436
26456
|
availableBytes: number().nullable(),
|
|
26437
26457
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26438
26458
|
totalBytes: number().nullable()
|
|
@@ -26444,7 +26464,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26444
26464
|
nodeId: string(),
|
|
26445
26465
|
totalUsedBytes: number(),
|
|
26446
26466
|
devices: array(RecordingDeviceUsageSchema),
|
|
26447
|
-
|
|
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()
|
|
26448
26476
|
});
|
|
26449
26477
|
/**
|
|
26450
26478
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37558,8 +37586,14 @@ Object.freeze({
|
|
|
37558
37586
|
"network-access": "ingress",
|
|
37559
37587
|
"smtp-provider": "email"
|
|
37560
37588
|
});
|
|
37589
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37590
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37591
|
+
hitPercent: 60,
|
|
37592
|
+
samplingSeconds: 10
|
|
37593
|
+
};
|
|
37561
37594
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37562
37595
|
new Set(["devices", "classes"]);
|
|
37596
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37563
37597
|
/**
|
|
37564
37598
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37565
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",
|