@camstack/addon-provider-petkit 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
@@ -20521,7 +20521,31 @@ DeviceType.Camera, method(object({
20521
20521
  lastCapturedAt: number().nullable(),
20522
20522
  cacheAgeMs: number().nullable(),
20523
20523
  etag: string().nullable()
20524
- }))), systemMethod(object({
20524
+ }))), systemMethod(object({ deviceId: number() }), object({
20525
+ /** The battery slice as read, or null when the device has none. */
20526
+ battery: object({
20527
+ sleeping: boolean(),
20528
+ lastUpdated: number(),
20529
+ lastContactAt: number().optional()
20530
+ }).nullable(),
20531
+ /** The resolved snapshot state (what the overlay decision used). */
20532
+ state: object({
20533
+ isBattery: boolean(),
20534
+ reason: _enum([
20535
+ "disabled",
20536
+ "sleeping",
20537
+ "unreachable",
20538
+ "waking"
20539
+ ]).nullable()
20540
+ }),
20541
+ /** The cached frame behind the next paint. */
20542
+ frame: object({
20543
+ capturedAt: number().nullable(),
20544
+ ageMs: number().nullable()
20545
+ }),
20546
+ /** A wake window is currently open (the Waking overlay's source). */
20547
+ waking: boolean()
20548
+ })), systemMethod(object({
20525
20549
  /** The tiles a surface is actually rendering. One entry per (device,
20526
20550
  * width) the caller will paint — the width is snapped to the server's
20527
20551
  * ladder and becomes part of the link's SIGNED identity. */
@@ -20560,7 +20584,14 @@ targets: array(object({
20560
20584
  "sleeping",
20561
20585
  "unreachable",
20562
20586
  "waking"
20563
- ]).nullable()
20587
+ ]).nullable(),
20588
+ /** A battery camera (whatever its current state). An AWAKE battery
20589
+ * camera is deliberately NOT recaptured on the poll cadence — every
20590
+ * capture is a camera hit that would keep it out of sleep — so its
20591
+ * cached frame legitimately ages past the currency ceiling while
20592
+ * nothing is streaming. A surface must keep painting it (a fresh
20593
+ * frame is captured at each wake), not blank to "unavailable". */
20594
+ battery: boolean()
20564
20595
  })));
20565
20596
  /**
20566
20597
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -35117,6 +35148,12 @@ Object.freeze({
35117
35148
  addonId: null,
35118
35149
  access: "view"
35119
35150
  },
35151
+ "snapshot.getDebugState": {
35152
+ capName: "snapshot",
35153
+ capScope: "device",
35154
+ addonId: null,
35155
+ access: "view"
35156
+ },
35120
35157
  "snapshot.getSnapshot": {
35121
35158
  capName: "snapshot",
35122
35159
  capScope: "device",
@@ -37714,6 +37751,11 @@ Object.freeze({
37714
37751
  form: "single",
37715
37752
  optional: false
37716
37753
  }],
37754
+ "snapshot.getDebugState": [{
37755
+ name: "deviceId",
37756
+ form: "single",
37757
+ optional: false
37758
+ }],
37717
37759
  "snapshot.getSnapshot": [{
37718
37760
  name: "deviceId",
37719
37761
  form: "single",
package/dist/addon.mjs CHANGED
@@ -20520,7 +20520,31 @@ DeviceType.Camera, method(object({
20520
20520
  lastCapturedAt: number().nullable(),
20521
20521
  cacheAgeMs: number().nullable(),
20522
20522
  etag: string().nullable()
20523
- }))), systemMethod(object({
20523
+ }))), systemMethod(object({ deviceId: number() }), object({
20524
+ /** The battery slice as read, or null when the device has none. */
20525
+ battery: object({
20526
+ sleeping: boolean(),
20527
+ lastUpdated: number(),
20528
+ lastContactAt: number().optional()
20529
+ }).nullable(),
20530
+ /** The resolved snapshot state (what the overlay decision used). */
20531
+ state: object({
20532
+ isBattery: boolean(),
20533
+ reason: _enum([
20534
+ "disabled",
20535
+ "sleeping",
20536
+ "unreachable",
20537
+ "waking"
20538
+ ]).nullable()
20539
+ }),
20540
+ /** The cached frame behind the next paint. */
20541
+ frame: object({
20542
+ capturedAt: number().nullable(),
20543
+ ageMs: number().nullable()
20544
+ }),
20545
+ /** A wake window is currently open (the Waking overlay's source). */
20546
+ waking: boolean()
20547
+ })), systemMethod(object({
20524
20548
  /** The tiles a surface is actually rendering. One entry per (device,
20525
20549
  * width) the caller will paint — the width is snapped to the server's
20526
20550
  * ladder and becomes part of the link's SIGNED identity. */
@@ -20559,7 +20583,14 @@ targets: array(object({
20559
20583
  "sleeping",
20560
20584
  "unreachable",
20561
20585
  "waking"
20562
- ]).nullable()
20586
+ ]).nullable(),
20587
+ /** A battery camera (whatever its current state). An AWAKE battery
20588
+ * camera is deliberately NOT recaptured on the poll cadence — every
20589
+ * capture is a camera hit that would keep it out of sleep — so its
20590
+ * cached frame legitimately ages past the currency ceiling while
20591
+ * nothing is streaming. A surface must keep painting it (a fresh
20592
+ * frame is captured at each wake), not blank to "unavailable". */
20593
+ battery: boolean()
20563
20594
  })));
20564
20595
  /**
20565
20596
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -35116,6 +35147,12 @@ Object.freeze({
35116
35147
  addonId: null,
35117
35148
  access: "view"
35118
35149
  },
35150
+ "snapshot.getDebugState": {
35151
+ capName: "snapshot",
35152
+ capScope: "device",
35153
+ addonId: null,
35154
+ access: "view"
35155
+ },
35119
35156
  "snapshot.getSnapshot": {
35120
35157
  capName: "snapshot",
35121
35158
  capScope: "device",
@@ -37713,6 +37750,11 @@ Object.freeze({
37713
37750
  form: "single",
37714
37751
  optional: false
37715
37752
  }],
37753
+ "snapshot.getDebugState": [{
37754
+ name: "deviceId",
37755
+ form: "single",
37756
+ optional: false
37757
+ }],
37716
37758
  "snapshot.getSnapshot": [{
37717
37759
  name: "deviceId",
37718
37760
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-petkit",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "PetKit smart-feeder device-provider addon for CamStack — wraps the @apocaliss92/nodepetkit PetKit cloud client",
5
5
  "keywords": [
6
6
  "camstack",