@camstack/addon-provider-vesync 0.2.22 → 0.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 +29 -3
- package/dist/addon.mjs +29 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -26252,9 +26252,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26252
26252
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26253
26253
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26254
26254
|
locationIds: array(string()).optional(),
|
|
26255
|
-
/**
|
|
26255
|
+
/**
|
|
26256
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26257
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26258
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26259
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26260
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26261
|
+
*/
|
|
26262
|
+
root: string().optional(),
|
|
26263
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26264
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26265
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26266
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26256
26267
|
usedBytes: number(),
|
|
26257
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26268
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26269
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26258
26270
|
availableBytes: number().nullable(),
|
|
26259
26271
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26260
26272
|
totalBytes: number().nullable()
|
|
@@ -26266,7 +26278,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26266
26278
|
nodeId: string(),
|
|
26267
26279
|
totalUsedBytes: number(),
|
|
26268
26280
|
devices: array(RecordingDeviceUsageSchema),
|
|
26269
|
-
|
|
26281
|
+
/**
|
|
26282
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26283
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26284
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26285
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26286
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26287
|
+
* missing disk bar.
|
|
26288
|
+
*/
|
|
26289
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26270
26290
|
});
|
|
26271
26291
|
/**
|
|
26272
26292
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37051,8 +37071,14 @@ Object.freeze({
|
|
|
37051
37071
|
"network-access": "ingress",
|
|
37052
37072
|
"smtp-provider": "email"
|
|
37053
37073
|
});
|
|
37074
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37075
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37076
|
+
hitPercent: 60,
|
|
37077
|
+
samplingSeconds: 10
|
|
37078
|
+
};
|
|
37054
37079
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37055
37080
|
new Set(["devices", "classes"]);
|
|
37081
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37056
37082
|
/**
|
|
37057
37083
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37058
37084
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -26251,9 +26251,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26251
26251
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26252
26252
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26253
26253
|
locationIds: array(string()).optional(),
|
|
26254
|
-
/**
|
|
26254
|
+
/**
|
|
26255
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26256
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26257
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26258
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26259
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26260
|
+
*/
|
|
26261
|
+
root: string().optional(),
|
|
26262
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26263
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26264
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26265
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26255
26266
|
usedBytes: number(),
|
|
26256
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26267
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26268
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26257
26269
|
availableBytes: number().nullable(),
|
|
26258
26270
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26259
26271
|
totalBytes: number().nullable()
|
|
@@ -26265,7 +26277,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26265
26277
|
nodeId: string(),
|
|
26266
26278
|
totalUsedBytes: number(),
|
|
26267
26279
|
devices: array(RecordingDeviceUsageSchema),
|
|
26268
|
-
|
|
26280
|
+
/**
|
|
26281
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26282
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26283
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26284
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26285
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26286
|
+
* missing disk bar.
|
|
26287
|
+
*/
|
|
26288
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26269
26289
|
});
|
|
26270
26290
|
/**
|
|
26271
26291
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37050,8 +37070,14 @@ Object.freeze({
|
|
|
37050
37070
|
"network-access": "ingress",
|
|
37051
37071
|
"smtp-provider": "email"
|
|
37052
37072
|
});
|
|
37073
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37074
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37075
|
+
hitPercent: 60,
|
|
37076
|
+
samplingSeconds: 10
|
|
37077
|
+
};
|
|
37053
37078
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37054
37079
|
new Set(["devices", "classes"]);
|
|
37080
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37055
37081
|
/**
|
|
37056
37082
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37057
37083
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-vesync",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"description": "VeSync cloud-account device-provider addon for CamStack — Levoit / Cosori air purifiers as Fan devices (power, speed, preset, child-lock, display, air-quality + filter-life sensors)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|