@camstack/addon-ai 0.4.11 → 0.4.13
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
|
@@ -24509,9 +24509,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
24509
24509
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
24510
24510
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
24511
24511
|
locationIds: array(string()).optional(),
|
|
24512
|
-
/**
|
|
24512
|
+
/**
|
|
24513
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
24514
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
24515
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
24516
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
24517
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
24518
|
+
*/
|
|
24519
|
+
root: string().optional(),
|
|
24520
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
24521
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
24522
|
+
* also holds everything that is not recordings. Volume fill is
|
|
24523
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
24513
24524
|
usedBytes: number$1(),
|
|
24514
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24525
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24526
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
24515
24527
|
availableBytes: number$1().nullable(),
|
|
24516
24528
|
/** Total bytes of the location's volume; null when unknown. */
|
|
24517
24529
|
totalBytes: number$1().nullable()
|
|
@@ -24523,7 +24535,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
24523
24535
|
nodeId: string(),
|
|
24524
24536
|
totalUsedBytes: number$1(),
|
|
24525
24537
|
devices: array(RecordingDeviceUsageSchema),
|
|
24526
|
-
|
|
24538
|
+
/**
|
|
24539
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
24540
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
24541
|
+
* router, so a hub whose framework train predates a change to this array
|
|
24542
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
24543
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
24544
|
+
* missing disk bar.
|
|
24545
|
+
*/
|
|
24546
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
24527
24547
|
});
|
|
24528
24548
|
/**
|
|
24529
24549
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -33639,8 +33659,14 @@ Object.freeze({
|
|
|
33639
33659
|
"network-access": "ingress",
|
|
33640
33660
|
"smtp-provider": "email"
|
|
33641
33661
|
});
|
|
33662
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
33663
|
+
var NC_AUDIO_DEFAULTS = {
|
|
33664
|
+
hitPercent: 60,
|
|
33665
|
+
samplingSeconds: 10
|
|
33666
|
+
};
|
|
33642
33667
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
33643
33668
|
new Set(["devices", "classes"]);
|
|
33669
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
33644
33670
|
/**
|
|
33645
33671
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
33646
33672
|
*
|
package/dist/addon.mjs
CHANGED
|
@@ -24535,9 +24535,21 @@ var RecordingLocationUsageSchema = object({
|
|
|
24535
24535
|
* previously rendered as two identical "disks" with a nonsensical used
|
|
24536
24536
|
* split — hydrate attribution across aliases is arbitrary by nature. */
|
|
24537
24537
|
locationIds: array(string()).optional(),
|
|
24538
|
-
/**
|
|
24538
|
+
/**
|
|
24539
|
+
* Filesystem root of the physical volume this row accounts — the only
|
|
24540
|
+
* operator-legible identity when a location has no `displayName` yet, and
|
|
24541
|
+
* what a "which disk is full" alert has to name. OPTIONAL for the same
|
|
24542
|
+
* train-skew reason as `oldestMs`: a recorder that predates the field omits
|
|
24543
|
+
* it, and this schema must keep validating that older provider's payload.
|
|
24544
|
+
*/
|
|
24545
|
+
root: string().optional(),
|
|
24546
|
+
/** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
|
|
24547
|
+
* the footage's SHARE of the volume, not how full the volume is — the disk
|
|
24548
|
+
* also holds everything that is not recordings. Volume fill is
|
|
24549
|
+
* `(totalBytes - availableBytes) / totalBytes`. */
|
|
24539
24550
|
usedBytes: number$1(),
|
|
24540
|
-
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24551
|
+
/** Free bytes on the location's volume; null when capacity is unknown
|
|
24552
|
+
* (remote/unstattable — the recorder logs the statfs failure with the root). */
|
|
24541
24553
|
availableBytes: number$1().nullable(),
|
|
24542
24554
|
/** Total bytes of the location's volume; null when unknown. */
|
|
24543
24555
|
totalBytes: number$1().nullable()
|
|
@@ -24549,7 +24561,15 @@ var RecordingStorageUsageSchema = object({
|
|
|
24549
24561
|
nodeId: string(),
|
|
24550
24562
|
totalUsedBytes: number$1(),
|
|
24551
24563
|
devices: array(RecordingDeviceUsageSchema),
|
|
24552
|
-
|
|
24564
|
+
/**
|
|
24565
|
+
* Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
|
|
24566
|
+
* of the payload without it: the hub serves this method through a BAKED
|
|
24567
|
+
* router, so a hub whose framework train predates a change to this array
|
|
24568
|
+
* strips it out of an answer a newer recorder happily produced. A UI that
|
|
24569
|
+
* dereferences it unconditionally crashes the whole Storage page over a
|
|
24570
|
+
* missing disk bar.
|
|
24571
|
+
*/
|
|
24572
|
+
locations: array(RecordingLocationUsageSchema).optional()
|
|
24553
24573
|
});
|
|
24554
24574
|
/**
|
|
24555
24575
|
* The OPERATOR-ARMED half of multi-location recordings (D116).
|
|
@@ -33665,8 +33685,14 @@ Object.freeze({
|
|
|
33665
33685
|
"network-access": "ingress",
|
|
33666
33686
|
"smtp-provider": "email"
|
|
33667
33687
|
});
|
|
33688
|
+
/** Schema defaults — an untouched sub-field must author exactly these. */
|
|
33689
|
+
var NC_AUDIO_DEFAULTS = {
|
|
33690
|
+
hitPercent: 60,
|
|
33691
|
+
samplingSeconds: 10
|
|
33692
|
+
};
|
|
33668
33693
|
new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
|
|
33669
33694
|
new Set(["devices", "classes"]);
|
|
33695
|
+
NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
|
|
33670
33696
|
/**
|
|
33671
33697
|
* TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
|
|
33672
33698
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-ai",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.13",
|
|
4
4
|
"description": "AI addon for CamStack — the `llm` collection provider (cloud, LAN, and camstack-managed local llama.cpp profiles) plus the per-node `llm-runtime` managed executor.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|