@camstack/addon-terminal 0.1.25 → 0.1.26

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 CHANGED
@@ -26443,9 +26443,21 @@ var RecordingLocationUsageSchema = object({
26443
26443
  * previously rendered as two identical "disks" with a nonsensical used
26444
26444
  * split — hydrate attribution across aliases is arbitrary by nature. */
26445
26445
  locationIds: array(string()).optional(),
26446
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
26446
+ /**
26447
+ * Filesystem root of the physical volume this row accounts — the only
26448
+ * operator-legible identity when a location has no `displayName` yet, and
26449
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
26450
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
26451
+ * it, and this schema must keep validating that older provider's payload.
26452
+ */
26453
+ root: string().optional(),
26454
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
26455
+ * the footage's SHARE of the volume, not how full the volume is — the disk
26456
+ * also holds everything that is not recordings. Volume fill is
26457
+ * `(totalBytes - availableBytes) / totalBytes`. */
26447
26458
  usedBytes: number(),
26448
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
26459
+ /** Free bytes on the location's volume; null when capacity is unknown
26460
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
26449
26461
  availableBytes: number().nullable(),
26450
26462
  /** Total bytes of the location's volume; null when unknown. */
26451
26463
  totalBytes: number().nullable()
@@ -26457,7 +26469,15 @@ var RecordingStorageUsageSchema = object({
26457
26469
  nodeId: string(),
26458
26470
  totalUsedBytes: number(),
26459
26471
  devices: array(RecordingDeviceUsageSchema),
26460
- locations: array(RecordingLocationUsageSchema)
26472
+ /**
26473
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
26474
+ * of the payload without it: the hub serves this method through a BAKED
26475
+ * router, so a hub whose framework train predates a change to this array
26476
+ * strips it out of an answer a newer recorder happily produced. A UI that
26477
+ * dereferences it unconditionally crashes the whole Storage page over a
26478
+ * missing disk bar.
26479
+ */
26480
+ locations: array(RecordingLocationUsageSchema).optional()
26461
26481
  });
26462
26482
  /**
26463
26483
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -37240,8 +37260,14 @@ Object.freeze({
37240
37260
  "network-access": "ingress",
37241
37261
  "smtp-provider": "email"
37242
37262
  });
37263
+ /** Schema defaults — an untouched sub-field must author exactly these. */
37264
+ var NC_AUDIO_DEFAULTS = {
37265
+ hitPercent: 60,
37266
+ samplingSeconds: 10
37267
+ };
37243
37268
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
37244
37269
  new Set(["devices", "classes"]);
37270
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
37245
37271
  /**
37246
37272
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
37247
37273
  *
package/dist/addon.mjs CHANGED
@@ -26420,9 +26420,21 @@ var RecordingLocationUsageSchema = object({
26420
26420
  * previously rendered as two identical "disks" with a nonsensical used
26421
26421
  * split — hydrate attribution across aliases is arbitrary by nature. */
26422
26422
  locationIds: array(string()).optional(),
26423
- /** Bytes of recordings stored on this PHYSICAL volume (all aliases). */
26423
+ /**
26424
+ * Filesystem root of the physical volume this row accounts — the only
26425
+ * operator-legible identity when a location has no `displayName` yet, and
26426
+ * what a "which disk is full" alert has to name. OPTIONAL for the same
26427
+ * train-skew reason as `oldestMs`: a recorder that predates the field omits
26428
+ * it, and this schema must keep validating that older provider's payload.
26429
+ */
26430
+ root: string().optional(),
26431
+ /** Bytes of recordings stored on this PHYSICAL volume (all aliases). This is
26432
+ * the footage's SHARE of the volume, not how full the volume is — the disk
26433
+ * also holds everything that is not recordings. Volume fill is
26434
+ * `(totalBytes - availableBytes) / totalBytes`. */
26424
26435
  usedBytes: number(),
26425
- /** Free bytes on the location's volume; null when capacity is unknown (remote). */
26436
+ /** Free bytes on the location's volume; null when capacity is unknown
26437
+ * (remote/unstattable — the recorder logs the statfs failure with the root). */
26426
26438
  availableBytes: number().nullable(),
26427
26439
  /** Total bytes of the location's volume; null when unknown. */
26428
26440
  totalBytes: number().nullable()
@@ -26434,7 +26446,15 @@ var RecordingStorageUsageSchema = object({
26434
26446
  nodeId: string(),
26435
26447
  totalUsedBytes: number(),
26436
26448
  devices: array(RecordingDeviceUsageSchema),
26437
- locations: array(RecordingLocationUsageSchema)
26449
+ /**
26450
+ * Per-physical-volume capacity. OPTIONAL, and consumers must render the rest
26451
+ * of the payload without it: the hub serves this method through a BAKED
26452
+ * router, so a hub whose framework train predates a change to this array
26453
+ * strips it out of an answer a newer recorder happily produced. A UI that
26454
+ * dereferences it unconditionally crashes the whole Storage page over a
26455
+ * missing disk bar.
26456
+ */
26457
+ locations: array(RecordingLocationUsageSchema).optional()
26438
26458
  });
26439
26459
  /**
26440
26460
  * The OPERATOR-ARMED half of multi-location recordings (D116).
@@ -37217,8 +37237,14 @@ Object.freeze({
37217
37237
  "network-access": "ingress",
37218
37238
  "smtp-provider": "email"
37219
37239
  });
37240
+ /** Schema defaults — an untouched sub-field must author exactly these. */
37241
+ var NC_AUDIO_DEFAULTS = {
37242
+ hitPercent: 60,
37243
+ samplingSeconds: 10
37244
+ };
37220
37245
  new Map(AUDIO_MACRO_LABELS.flatMap((macro) => macro.icon === void 0 ? [] : [[macro.id, macro.icon]]));
37221
37246
  new Set(["devices", "classes"]);
37247
+ NC_AUDIO_DEFAULTS.hitPercent, NC_AUDIO_DEFAULTS.samplingSeconds;
37222
37248
  /**
37223
37249
  * TimelapseRule — the STANDALONE scheduled timelapse producer's rule model.
37224
37250
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-terminal",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "description": "Interactive terminal sessions (pty + xterm) as a CamStack addon",
5
5
  "keywords": [
6
6
  "camstack",