@camstack/addon-provider-dreo 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
@@ -19455,7 +19455,31 @@ DeviceType.Camera, method(object({
19455
19455
  lastCapturedAt: number().nullable(),
19456
19456
  cacheAgeMs: number().nullable(),
19457
19457
  etag: string().nullable()
19458
- }))), systemMethod(object({
19458
+ }))), systemMethod(object({ deviceId: number() }), object({
19459
+ /** The battery slice as read, or null when the device has none. */
19460
+ battery: object({
19461
+ sleeping: boolean(),
19462
+ lastUpdated: number(),
19463
+ lastContactAt: number().optional()
19464
+ }).nullable(),
19465
+ /** The resolved snapshot state (what the overlay decision used). */
19466
+ state: object({
19467
+ isBattery: boolean(),
19468
+ reason: _enum([
19469
+ "disabled",
19470
+ "sleeping",
19471
+ "unreachable",
19472
+ "waking"
19473
+ ]).nullable()
19474
+ }),
19475
+ /** The cached frame behind the next paint. */
19476
+ frame: object({
19477
+ capturedAt: number().nullable(),
19478
+ ageMs: number().nullable()
19479
+ }),
19480
+ /** A wake window is currently open (the Waking overlay's source). */
19481
+ waking: boolean()
19482
+ })), systemMethod(object({
19459
19483
  /** The tiles a surface is actually rendering. One entry per (device,
19460
19484
  * width) the caller will paint — the width is snapped to the server's
19461
19485
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19494,7 +19518,14 @@ targets: array(object({
19494
19518
  "sleeping",
19495
19519
  "unreachable",
19496
19520
  "waking"
19497
- ]).nullable()
19521
+ ]).nullable(),
19522
+ /** A battery camera (whatever its current state). An AWAKE battery
19523
+ * camera is deliberately NOT recaptured on the poll cadence — every
19524
+ * capture is a camera hit that would keep it out of sleep — so its
19525
+ * cached frame legitimately ages past the currency ceiling while
19526
+ * nothing is streaming. A surface must keep painting it (a fresh
19527
+ * frame is captured at each wake), not blank to "unavailable". */
19528
+ battery: boolean()
19498
19529
  })));
19499
19530
  /**
19500
19531
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -34051,6 +34082,12 @@ Object.freeze({
34051
34082
  addonId: null,
34052
34083
  access: "view"
34053
34084
  },
34085
+ "snapshot.getDebugState": {
34086
+ capName: "snapshot",
34087
+ capScope: "device",
34088
+ addonId: null,
34089
+ access: "view"
34090
+ },
34054
34091
  "snapshot.getSnapshot": {
34055
34092
  capName: "snapshot",
34056
34093
  capScope: "device",
@@ -36648,6 +36685,11 @@ Object.freeze({
36648
36685
  form: "single",
36649
36686
  optional: false
36650
36687
  }],
36688
+ "snapshot.getDebugState": [{
36689
+ name: "deviceId",
36690
+ form: "single",
36691
+ optional: false
36692
+ }],
36651
36693
  "snapshot.getSnapshot": [{
36652
36694
  name: "deviceId",
36653
36695
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19456,7 +19456,31 @@ DeviceType.Camera, method(object({
19456
19456
  lastCapturedAt: number().nullable(),
19457
19457
  cacheAgeMs: number().nullable(),
19458
19458
  etag: string().nullable()
19459
- }))), systemMethod(object({
19459
+ }))), systemMethod(object({ deviceId: number() }), object({
19460
+ /** The battery slice as read, or null when the device has none. */
19461
+ battery: object({
19462
+ sleeping: boolean(),
19463
+ lastUpdated: number(),
19464
+ lastContactAt: number().optional()
19465
+ }).nullable(),
19466
+ /** The resolved snapshot state (what the overlay decision used). */
19467
+ state: object({
19468
+ isBattery: boolean(),
19469
+ reason: _enum([
19470
+ "disabled",
19471
+ "sleeping",
19472
+ "unreachable",
19473
+ "waking"
19474
+ ]).nullable()
19475
+ }),
19476
+ /** The cached frame behind the next paint. */
19477
+ frame: object({
19478
+ capturedAt: number().nullable(),
19479
+ ageMs: number().nullable()
19480
+ }),
19481
+ /** A wake window is currently open (the Waking overlay's source). */
19482
+ waking: boolean()
19483
+ })), systemMethod(object({
19460
19484
  /** The tiles a surface is actually rendering. One entry per (device,
19461
19485
  * width) the caller will paint — the width is snapped to the server's
19462
19486
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19495,7 +19519,14 @@ targets: array(object({
19495
19519
  "sleeping",
19496
19520
  "unreachable",
19497
19521
  "waking"
19498
- ]).nullable()
19522
+ ]).nullable(),
19523
+ /** A battery camera (whatever its current state). An AWAKE battery
19524
+ * camera is deliberately NOT recaptured on the poll cadence — every
19525
+ * capture is a camera hit that would keep it out of sleep — so its
19526
+ * cached frame legitimately ages past the currency ceiling while
19527
+ * nothing is streaming. A surface must keep painting it (a fresh
19528
+ * frame is captured at each wake), not blank to "unavailable". */
19529
+ battery: boolean()
19499
19530
  })));
19500
19531
  /**
19501
19532
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -34052,6 +34083,12 @@ Object.freeze({
34052
34083
  addonId: null,
34053
34084
  access: "view"
34054
34085
  },
34086
+ "snapshot.getDebugState": {
34087
+ capName: "snapshot",
34088
+ capScope: "device",
34089
+ addonId: null,
34090
+ access: "view"
34091
+ },
34055
34092
  "snapshot.getSnapshot": {
34056
34093
  capName: "snapshot",
34057
34094
  capScope: "device",
@@ -36649,6 +36686,11 @@ Object.freeze({
36649
36686
  form: "single",
36650
36687
  optional: false
36651
36688
  }],
36689
+ "snapshot.getDebugState": [{
36690
+ name: "deviceId",
36691
+ form: "single",
36692
+ optional: false
36693
+ }],
36652
36694
  "snapshot.getSnapshot": [{
36653
36695
  name: "deviceId",
36654
36696
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreo",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
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",