@camstack/addon-provider-dreo 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
|
@@ -26313,9 +26313,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26313
26313
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26314
26314
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26315
26315
|
locationIds: array(string()).optional(),
|
|
26316
|
-
/**
|
|
26316
|
+
/**
|
|
26317
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26318
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26319
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26320
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26321
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26322
|
+
*/
|
|
26323
|
+
root: string().optional(),
|
|
26324
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26325
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26326
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26327
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26317
26328
|
usedBytes: number(),
|
|
26318
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26329
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26330
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26319
26331
|
availableBytes: number().nullable(),
|
|
26320
26332
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26321
26333
|
totalBytes: number().nullable()
|
|
@@ -26327,7 +26339,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26327
26339
|
nodeId: string(),
|
|
26328
26340
|
totalUsedBytes: number(),
|
|
26329
26341
|
devices: array(RecordingDeviceUsageSchema),
|
|
26330
|
-
|
|
26342
|
+
/**
|
|
26343
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26344
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26345
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26346
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26347
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26348
|
+
* missing disk bar.
|
|
26349
|
+
*/
|
|
26350
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26331
26351
|
});
|
|
26332
26352
|
/**
|
|
26333
26353
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37112,8 +37132,14 @@ Object.freeze({
|
|
|
37112
37132
|
"network-access": "ingress",
|
|
37113
37133
|
"smtp-provider": "email"
|
|
37114
37134
|
});
|
|
37135
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37136
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37137
|
+
hitPercent: 60,
|
|
37138
|
+
samplingSeconds: 10
|
|
37139
|
+
};
|
|
37115
37140
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37116
37141
|
new Set(["devices", "classes"]);
|
|
37142
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37117
37143
|
/**
|
|
37118
37144
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37119
37145
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -26314,9 +26314,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26314
26314
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26315
26315
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26316
26316
|
locationIds: array(string()).optional(),
|
|
26317
|
-
/**
|
|
26317
|
+
/**
|
|
26318
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26319
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26320
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26321
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26322
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26323
|
+
*/
|
|
26324
|
+
root: string().optional(),
|
|
26325
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26326
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26327
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26328
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26318
26329
|
usedBytes: number(),
|
|
26319
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26330
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26331
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26320
26332
|
availableBytes: number().nullable(),
|
|
26321
26333
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26322
26334
|
totalBytes: number().nullable()
|
|
@@ -26328,7 +26340,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26328
26340
|
nodeId: string(),
|
|
26329
26341
|
totalUsedBytes: number(),
|
|
26330
26342
|
devices: array(RecordingDeviceUsageSchema),
|
|
26331
|
-
|
|
26343
|
+
/**
|
|
26344
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26345
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26346
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26347
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26348
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26349
|
+
* missing disk bar.
|
|
26350
|
+
*/
|
|
26351
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26332
26352
|
});
|
|
26333
26353
|
/**
|
|
26334
26354
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37113,8 +37133,14 @@ Object.freeze({
|
|
|
37113
37133
|
"network-access": "ingress",
|
|
37114
37134
|
"smtp-provider": "email"
|
|
37115
37135
|
});
|
|
37136
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37137
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37138
|
+
hitPercent: 60,
|
|
37139
|
+
samplingSeconds: 10
|
|
37140
|
+
};
|
|
37116
37141
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37117
37142
|
new Set(["devices", "classes"]);
|
|
37143
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37118
37144
|
/**
|
|
37119
37145
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37120
37146
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|