@camstack/addon-provider-unraid 0.2.18 → 0.2.20

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
@@ -19402,7 +19402,31 @@ DeviceType.Camera, method(object({
19402
19402
  lastCapturedAt: number().nullable(),
19403
19403
  cacheAgeMs: number().nullable(),
19404
19404
  etag: string().nullable()
19405
- }))), systemMethod(object({
19405
+ }))), systemMethod(object({ deviceId: number() }), object({
19406
+ /** The battery slice as read, or null when the device has none. */
19407
+ battery: object({
19408
+ sleeping: boolean(),
19409
+ lastUpdated: number(),
19410
+ lastContactAt: number().optional()
19411
+ }).nullable(),
19412
+ /** The resolved snapshot state (what the overlay decision used). */
19413
+ state: object({
19414
+ isBattery: boolean(),
19415
+ reason: _enum([
19416
+ "disabled",
19417
+ "sleeping",
19418
+ "unreachable",
19419
+ "waking"
19420
+ ]).nullable()
19421
+ }),
19422
+ /** The cached frame behind the next paint. */
19423
+ frame: object({
19424
+ capturedAt: number().nullable(),
19425
+ ageMs: number().nullable()
19426
+ }),
19427
+ /** A wake window is currently open (the Waking overlay's source). */
19428
+ waking: boolean()
19429
+ })), systemMethod(object({
19406
19430
  /** The tiles a surface is actually rendering. One entry per (device,
19407
19431
  * width) the caller will paint — the width is snapped to the server's
19408
19432
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19441,7 +19465,14 @@ targets: array(object({
19441
19465
  "sleeping",
19442
19466
  "unreachable",
19443
19467
  "waking"
19444
- ]).nullable()
19468
+ ]).nullable(),
19469
+ /** A battery camera (whatever its current state). An AWAKE battery
19470
+ * camera is deliberately NOT recaptured on the poll cadence — every
19471
+ * capture is a camera hit that would keep it out of sleep — so its
19472
+ * cached frame legitimately ages past the currency ceiling while
19473
+ * nothing is streaming. A surface must keep painting it (a fresh
19474
+ * frame is captured at each wake), not blank to "unavailable". */
19475
+ battery: boolean()
19445
19476
  })));
19446
19477
  /**
19447
19478
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -34007,6 +34038,12 @@ Object.freeze({
34007
34038
  addonId: null,
34008
34039
  access: "view"
34009
34040
  },
34041
+ "snapshot.getDebugState": {
34042
+ capName: "snapshot",
34043
+ capScope: "device",
34044
+ addonId: null,
34045
+ access: "view"
34046
+ },
34010
34047
  "snapshot.getSnapshot": {
34011
34048
  capName: "snapshot",
34012
34049
  capScope: "device",
@@ -36604,6 +36641,11 @@ Object.freeze({
36604
36641
  form: "single",
36605
36642
  optional: false
36606
36643
  }],
36644
+ "snapshot.getDebugState": [{
36645
+ name: "deviceId",
36646
+ form: "single",
36647
+ optional: false
36648
+ }],
36607
36649
  "snapshot.getSnapshot": [{
36608
36650
  name: "deviceId",
36609
36651
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19401,7 +19401,31 @@ DeviceType.Camera, method(object({
19401
19401
  lastCapturedAt: number().nullable(),
19402
19402
  cacheAgeMs: number().nullable(),
19403
19403
  etag: string().nullable()
19404
- }))), systemMethod(object({
19404
+ }))), systemMethod(object({ deviceId: number() }), object({
19405
+ /** The battery slice as read, or null when the device has none. */
19406
+ battery: object({
19407
+ sleeping: boolean(),
19408
+ lastUpdated: number(),
19409
+ lastContactAt: number().optional()
19410
+ }).nullable(),
19411
+ /** The resolved snapshot state (what the overlay decision used). */
19412
+ state: object({
19413
+ isBattery: boolean(),
19414
+ reason: _enum([
19415
+ "disabled",
19416
+ "sleeping",
19417
+ "unreachable",
19418
+ "waking"
19419
+ ]).nullable()
19420
+ }),
19421
+ /** The cached frame behind the next paint. */
19422
+ frame: object({
19423
+ capturedAt: number().nullable(),
19424
+ ageMs: number().nullable()
19425
+ }),
19426
+ /** A wake window is currently open (the Waking overlay's source). */
19427
+ waking: boolean()
19428
+ })), systemMethod(object({
19405
19429
  /** The tiles a surface is actually rendering. One entry per (device,
19406
19430
  * width) the caller will paint — the width is snapped to the server's
19407
19431
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19440,7 +19464,14 @@ targets: array(object({
19440
19464
  "sleeping",
19441
19465
  "unreachable",
19442
19466
  "waking"
19443
- ]).nullable()
19467
+ ]).nullable(),
19468
+ /** A battery camera (whatever its current state). An AWAKE battery
19469
+ * camera is deliberately NOT recaptured on the poll cadence — every
19470
+ * capture is a camera hit that would keep it out of sleep — so its
19471
+ * cached frame legitimately ages past the currency ceiling while
19472
+ * nothing is streaming. A surface must keep painting it (a fresh
19473
+ * frame is captured at each wake), not blank to "unavailable". */
19474
+ battery: boolean()
19444
19475
  })));
19445
19476
  /**
19446
19477
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -34006,6 +34037,12 @@ Object.freeze({
34006
34037
  addonId: null,
34007
34038
  access: "view"
34008
34039
  },
34040
+ "snapshot.getDebugState": {
34041
+ capName: "snapshot",
34042
+ capScope: "device",
34043
+ addonId: null,
34044
+ access: "view"
34045
+ },
34009
34046
  "snapshot.getSnapshot": {
34010
34047
  capName: "snapshot",
34011
34048
  capScope: "device",
@@ -36603,6 +36640,11 @@ Object.freeze({
36603
36640
  form: "single",
36604
36641
  optional: false
36605
36642
  }],
36643
+ "snapshot.getDebugState": [{
36644
+ name: "deviceId",
36645
+ form: "single",
36646
+ optional: false
36647
+ }],
36606
36648
  "snapshot.getSnapshot": [{
36607
36649
  name: "deviceId",
36608
36650
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-unraid",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "Unraid device-provider addon for CamStack — one Container per Unraid instance fanning out array, disk, docker and notification entities",
5
5
  "keywords": [
6
6
  "camstack",