@camstack/addon-export-google 0.1.46 → 0.1.47

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.
@@ -27391,8 +27391,27 @@ var PrivacyMaskRegionSchema = object({
27391
27391
  });
27392
27392
  object({
27393
27393
  enabled: boolean(),
27394
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
27395
- regions: array(PrivacyMaskRegionSchema),
27394
+ /**
27395
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
27396
+ *
27397
+ * `null` means "no answer" — the provider has never reached this camera
27398
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
27399
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
27400
+ * has no zones": those two look identical to an operator right up to the
27401
+ * moment one of them is acted on, and acting on them differs completely.
27402
+ * The switch group turned an unanswered read into *"nothing is set up for
27403
+ * it to act on"* — an instruction to go and draw a zone that already
27404
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
27405
+ * from deleting the mask it could not read.
27406
+ *
27407
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
27408
+ * has no zones. The distinction is the same one {@link
27409
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
27410
+ * microphone, on the very same payload — both planes come from ONE refresh,
27411
+ * so it was never coherent for one of them to be able to say "unknown"
27412
+ * while the other could not.
27413
+ */
27414
+ regions: array(PrivacyMaskRegionSchema).nullable(),
27396
27415
  /**
27397
27416
  * Is the camera capturing sound right now? Read from the camera, never from
27398
27417
  * a server-side mirror.
@@ -27387,8 +27387,27 @@ var PrivacyMaskRegionSchema = object({
27387
27387
  });
27388
27388
  object({
27389
27389
  enabled: boolean(),
27390
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
27391
- regions: array(PrivacyMaskRegionSchema),
27390
+ /**
27391
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
27392
+ *
27393
+ * `null` means "no answer" — the provider has never reached this camera
27394
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
27395
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
27396
+ * has no zones": those two look identical to an operator right up to the
27397
+ * moment one of them is acted on, and acting on them differs completely.
27398
+ * The switch group turned an unanswered read into *"nothing is set up for
27399
+ * it to act on"* — an instruction to go and draw a zone that already
27400
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
27401
+ * from deleting the mask it could not read.
27402
+ *
27403
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
27404
+ * has no zones. The distinction is the same one {@link
27405
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
27406
+ * microphone, on the very same payload — both planes come from ONE refresh,
27407
+ * so it was never coherent for one of them to be able to say "unknown"
27408
+ * while the other could not.
27409
+ */
27410
+ regions: array(PrivacyMaskRegionSchema).nullable(),
27392
27411
  /**
27393
27412
  * Is the camera capturing sound right now? Read from the camera, never from
27394
27413
  * a server-side mirror.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-google",
3
- "version": "0.1.46",
3
+ "version": "0.1.47",
4
4
  "description": "Google Home export — hub-side smart-home fulfillment (SYNC / QUERY / EXECUTE / DISCONNECT) for the non-camera fleet, served over the hub's own OAuth account link. No Google credential is stored, sent or required.",
5
5
  "keywords": [
6
6
  "camstack",