@camstack/addon-matter-broker 0.2.20 → 0.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 +37 -3
- package/dist/addon.mjs +37 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -20302,6 +20302,14 @@ var ClipSchema = object({
|
|
|
20302
20302
|
endMs: number()
|
|
20303
20303
|
}),
|
|
20304
20304
|
/**
|
|
20305
|
+
* Distinct object classes attached to this visit (`person`, `car`, …),
|
|
20306
|
+
* dominant first, capped at {@link MAX_CLIP_LABELS}. The ribbon renders these
|
|
20307
|
+
* instead of the bare kind — "Object" tells the operator nothing a colour bar
|
|
20308
|
+
* did not. Absent (never empty) when the visit attached no classified object
|
|
20309
|
+
* event, so a motion/audio-only visit keeps its kind label.
|
|
20310
|
+
*/
|
|
20311
|
+
labels: array(string$2()).max(3).optional(),
|
|
20312
|
+
/**
|
|
20305
20313
|
* Lazy thumbnail URL, never inlined.
|
|
20306
20314
|
*
|
|
20307
20315
|
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
@@ -26341,9 +26349,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26341
26349
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26342
26350
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26343
26351
|
locationIds: array(string$2()).optional(),
|
|
26344
|
-
/**
|
|
26352
|
+
/**
|
|
26353
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26354
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26355
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26356
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26357
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26358
|
+
*/
|
|
26359
|
+
root: string$2().optional(),
|
|
26360
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26361
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26362
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26363
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26345
26364
|
usedBytes: number(),
|
|
26346
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26365
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26366
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26347
26367
|
availableBytes: number().nullable(),
|
|
26348
26368
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26349
26369
|
totalBytes: number().nullable()
|
|
@@ -26355,7 +26375,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26355
26375
|
nodeId: string$2(),
|
|
26356
26376
|
totalUsedBytes: number(),
|
|
26357
26377
|
devices: array(RecordingDeviceUsageSchema),
|
|
26358
|
-
|
|
26378
|
+
/**
|
|
26379
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26380
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26381
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26382
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26383
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26384
|
+
* missing disk bar.
|
|
26385
|
+
*/
|
|
26386
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26359
26387
|
});
|
|
26360
26388
|
/**
|
|
26361
26389
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37140,8 +37168,14 @@ Object.freeze({
|
|
|
37140
37168
|
"network-access": "ingress",
|
|
37141
37169
|
"smtp-provider": "email"
|
|
37142
37170
|
});
|
|
37171
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37172
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37173
|
+
hitPercent: 60,
|
|
37174
|
+
samplingSeconds: 10
|
|
37175
|
+
};
|
|
37143
37176
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37144
37177
|
new Set(["devices", "classes"]);
|
|
37178
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37145
37179
|
/**
|
|
37146
37180
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37147
37181
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -20300,6 +20300,14 @@ var ClipSchema = object({
|
|
|
20300
20300
|
endMs: number()
|
|
20301
20301
|
}),
|
|
20302
20302
|
/**
|
|
20303
|
+
* Distinct object classes attached to this visit (`person`, `car`, …),
|
|
20304
|
+
* dominant first, capped at {@link MAX_CLIP_LABELS}. The ribbon renders these
|
|
20305
|
+
* instead of the bare kind — "Object" tells the operator nothing a colour bar
|
|
20306
|
+
* did not. Absent (never empty) when the visit attached no classified object
|
|
20307
|
+
* event, so a motion/audio-only visit keeps its kind label.
|
|
20308
|
+
*/
|
|
20309
|
+
labels: array(string$2()).max(3).optional(),
|
|
20310
|
+
/**
|
|
20303
20311
|
* Lazy thumbnail URL, never inlined.
|
|
20304
20312
|
*
|
|
20305
20313
|
* Recording-derived clips (events-mode keep-window, and the prepared
|
|
@@ -26339,9 +26347,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
26339
26347
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
26340
26348
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
26341
26349
|
locationIds: array(string$2()).optional(),
|
|
26342
|
-
/**
|
|
26350
|
+
/**
|
|
26351
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
26352
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
26353
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
26354
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
26355
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
26356
|
+
*/
|
|
26357
|
+
root: string$2().optional(),
|
|
26358
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
26359
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
26360
|
+
* also holds everything that is not recordings. Volume fill is
|
|
26361
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
26343
26362
|
usedBytes: number(),
|
|
26344
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26363
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
26364
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
26345
26365
|
availableBytes: number().nullable(),
|
|
26346
26366
|
/** Total bytes of the location's volume; null when unknown. */
|
|
26347
26367
|
totalBytes: number().nullable()
|
|
@@ -26353,7 +26373,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
26353
26373
|
nodeId: string$2(),
|
|
26354
26374
|
totalUsedBytes: number(),
|
|
26355
26375
|
devices: array(RecordingDeviceUsageSchema),
|
|
26356
|
-
|
|
26376
|
+
/**
|
|
26377
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
26378
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
26379
|
+
* router, so a hub whose framework train predates a change to this array
|
|
26380
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
26381
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
26382
|
+
* missing disk bar.
|
|
26383
|
+
*/
|
|
26384
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
26357
26385
|
});
|
|
26358
26386
|
/**
|
|
26359
26387
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -37138,8 +37166,14 @@ Object.freeze({
|
|
|
37138
37166
|
"network-access": "ingress",
|
|
37139
37167
|
"smtp-provider": "email"
|
|
37140
37168
|
});
|
|
37169
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
37170
|
+
var NC_AUDIO_DEFAULTS = {
|
|
37171
|
+
hitPercent: 60,
|
|
37172
|
+
samplingSeconds: 10
|
|
37173
|
+
};
|
|
37141
37174
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
37142
37175
|
new Set(["devices", "classes"]);
|
|
37176
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
37143
37177
|
/**
|
|
37144
37178
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
37145
37179
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-matter-broker",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.22",
|
|
4
4
|
"description": "Matter broker addon for CamStack — owns a Matter fabric (commissioning + the long-lived controller) via the matter.js controller and brokers commissioned Matter nodes into CamStack",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|