@camstack/addon-export-alexa 1.2.24 → 1.2.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.
@@ -19361,7 +19361,31 @@ DeviceType.Camera, method(object({
19361
19361
  lastCapturedAt: number().nullable(),
19362
19362
  cacheAgeMs: number().nullable(),
19363
19363
  etag: string().nullable()
19364
- }))), systemMethod(object({
19364
+ }))), systemMethod(object({ deviceId: number() }), object({
19365
+ /** The battery slice as read, or null when the device has none. */
19366
+ battery: object({
19367
+ sleeping: boolean(),
19368
+ lastUpdated: number(),
19369
+ lastContactAt: number().optional()
19370
+ }).nullable(),
19371
+ /** The resolved snapshot state (what the overlay decision used). */
19372
+ state: object({
19373
+ isBattery: boolean(),
19374
+ reason: _enum([
19375
+ "disabled",
19376
+ "sleeping",
19377
+ "unreachable",
19378
+ "waking"
19379
+ ]).nullable()
19380
+ }),
19381
+ /** The cached frame behind the next paint. */
19382
+ frame: object({
19383
+ capturedAt: number().nullable(),
19384
+ ageMs: number().nullable()
19385
+ }),
19386
+ /** A wake window is currently open (the Waking overlay's source). */
19387
+ waking: boolean()
19388
+ })), systemMethod(object({
19365
19389
  /** The tiles a surface is actually rendering. One entry per (device,
19366
19390
  * width) the caller will paint — the width is snapped to the server's
19367
19391
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19400,7 +19424,14 @@ targets: array(object({
19400
19424
  "sleeping",
19401
19425
  "unreachable",
19402
19426
  "waking"
19403
- ]).nullable()
19427
+ ]).nullable(),
19428
+ /** A battery camera (whatever its current state). An AWAKE battery
19429
+ * camera is deliberately NOT recaptured on the poll cadence — every
19430
+ * capture is a camera hit that would keep it out of sleep — so its
19431
+ * cached frame legitimately ages past the currency ceiling while
19432
+ * nothing is streaming. A surface must keep painting it (a fresh
19433
+ * frame is captured at each wake), not blank to "unavailable". */
19434
+ battery: boolean()
19404
19435
  })));
19405
19436
  /**
19406
19437
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -30576,6 +30607,12 @@ Object.freeze({
30576
30607
  addonId: null,
30577
30608
  access: "view"
30578
30609
  },
30610
+ "snapshot.getDebugState": {
30611
+ capName: "snapshot",
30612
+ capScope: "device",
30613
+ addonId: null,
30614
+ access: "view"
30615
+ },
30579
30616
  "snapshot.getSnapshot": {
30580
30617
  capName: "snapshot",
30581
30618
  capScope: "device",
@@ -33173,6 +33210,11 @@ Object.freeze({
33173
33210
  form: "single",
33174
33211
  optional: false
33175
33212
  }],
33213
+ "snapshot.getDebugState": [{
33214
+ name: "deviceId",
33215
+ form: "single",
33216
+ optional: false
33217
+ }],
33176
33218
  "snapshot.getSnapshot": [{
33177
33219
  name: "deviceId",
33178
33220
  form: "single",
@@ -19334,7 +19334,31 @@ DeviceType.Camera, method(object({
19334
19334
  lastCapturedAt: number().nullable(),
19335
19335
  cacheAgeMs: number().nullable(),
19336
19336
  etag: string().nullable()
19337
- }))), systemMethod(object({
19337
+ }))), systemMethod(object({ deviceId: number() }), object({
19338
+ /** The battery slice as read, or null when the device has none. */
19339
+ battery: object({
19340
+ sleeping: boolean(),
19341
+ lastUpdated: number(),
19342
+ lastContactAt: number().optional()
19343
+ }).nullable(),
19344
+ /** The resolved snapshot state (what the overlay decision used). */
19345
+ state: object({
19346
+ isBattery: boolean(),
19347
+ reason: _enum([
19348
+ "disabled",
19349
+ "sleeping",
19350
+ "unreachable",
19351
+ "waking"
19352
+ ]).nullable()
19353
+ }),
19354
+ /** The cached frame behind the next paint. */
19355
+ frame: object({
19356
+ capturedAt: number().nullable(),
19357
+ ageMs: number().nullable()
19358
+ }),
19359
+ /** A wake window is currently open (the Waking overlay's source). */
19360
+ waking: boolean()
19361
+ })), systemMethod(object({
19338
19362
  /** The tiles a surface is actually rendering. One entry per (device,
19339
19363
  * width) the caller will paint — the width is snapped to the server's
19340
19364
  * ladder and becomes part of the link's SIGNED identity. */
@@ -19373,7 +19397,14 @@ targets: array(object({
19373
19397
  "sleeping",
19374
19398
  "unreachable",
19375
19399
  "waking"
19376
- ]).nullable()
19400
+ ]).nullable(),
19401
+ /** A battery camera (whatever its current state). An AWAKE battery
19402
+ * camera is deliberately NOT recaptured on the poll cadence — every
19403
+ * capture is a camera hit that would keep it out of sleep — so its
19404
+ * cached frame legitimately ages past the currency ceiling while
19405
+ * nothing is streaming. A surface must keep painting it (a fresh
19406
+ * frame is captured at each wake), not blank to "unavailable". */
19407
+ battery: boolean()
19377
19408
  })));
19378
19409
  /**
19379
19410
  * `sso-bridge` — internal hub-only cap that lets SSO-style auth
@@ -30549,6 +30580,12 @@ Object.freeze({
30549
30580
  addonId: null,
30550
30581
  access: "view"
30551
30582
  },
30583
+ "snapshot.getDebugState": {
30584
+ capName: "snapshot",
30585
+ capScope: "device",
30586
+ addonId: null,
30587
+ access: "view"
30588
+ },
30552
30589
  "snapshot.getSnapshot": {
30553
30590
  capName: "snapshot",
30554
30591
  capScope: "device",
@@ -33146,6 +33183,11 @@ Object.freeze({
33146
33183
  form: "single",
33147
33184
  optional: false
33148
33185
  }],
33186
+ "snapshot.getDebugState": [{
33187
+ name: "deviceId",
33188
+ form: "single",
33189
+ optional: false
33190
+ }],
33149
33191
  "snapshot.getSnapshot": [{
33150
33192
  name: "deviceId",
33151
33193
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-alexa",
3
- "version": "1.2.24",
3
+ "version": "1.2.26",
4
4
  "description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
5
5
  "keywords": [
6
6
  "camstack",