@camstack/addon-export-hap 1.2.93 → 1.2.94

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.
@@ -27946,8 +27946,27 @@ var PrivacyMaskRegionSchema = object({
27946
27946
  });
27947
27947
  object({
27948
27948
  enabled: boolean(),
27949
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
27950
- regions: array(PrivacyMaskRegionSchema),
27949
+ /**
27950
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
27951
+ *
27952
+ * `null` means "no answer" — the provider has never reached this camera
27953
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
27954
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
27955
+ * has no zones": those two look identical to an operator right up to the
27956
+ * moment one of them is acted on, and acting on them differs completely.
27957
+ * The switch group turned an unanswered read into *"nothing is set up for
27958
+ * it to act on"* — an instruction to go and draw a zone that already
27959
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
27960
+ * from deleting the mask it could not read.
27961
+ *
27962
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
27963
+ * has no zones. The distinction is the same one {@link
27964
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
27965
+ * microphone, on the very same payload — both planes come from ONE refresh,
27966
+ * so it was never coherent for one of them to be able to say "unknown"
27967
+ * while the other could not.
27968
+ */
27969
+ regions: array(PrivacyMaskRegionSchema).nullable(),
27951
27970
  /**
27952
27971
  * Is the camera capturing sound right now? Read from the camera, never from
27953
27972
  * a server-side mirror.
@@ -27934,8 +27934,27 @@ var PrivacyMaskRegionSchema = object({
27934
27934
  });
27935
27935
  object({
27936
27936
  enabled: boolean(),
27937
- /** Active zones (normalized 0..1). Length ≤ maxRegions. */
27938
- regions: array(PrivacyMaskRegionSchema),
27937
+ /**
27938
+ * Active zones (normalized 0..1). Length ≤ maxRegions.
27939
+ *
27940
+ * `null` means "no answer" — the provider has never reached this camera
27941
+ * (a cold `runtimeState` slice, a battery camera asleep) or the read
27942
+ * failed. A consumer must render it as UNKNOWN and never as "this camera
27943
+ * has no zones": those two look identical to an operator right up to the
27944
+ * moment one of them is acted on, and acting on them differs completely.
27945
+ * The switch group turned an unanswered read into *"nothing is set up for
27946
+ * it to act on"* — an instruction to go and draw a zone that already
27947
+ * exists — and this editor seeded an EMPTY canvas from it, one Save away
27948
+ * from deleting the mask it could not read.
27949
+ *
27950
+ * Empty-and-answered is `[]` and stays a real answer: this camera genuinely
27951
+ * has no zones. The distinction is the same one {@link
27952
+ * PrivacyMaskStatusSchema.shape.audioEnabled} already draws for the
27953
+ * microphone, on the very same payload — both planes come from ONE refresh,
27954
+ * so it was never coherent for one of them to be able to say "unknown"
27955
+ * while the other could not.
27956
+ */
27957
+ regions: array(PrivacyMaskRegionSchema).nullable(),
27939
27958
  /**
27940
27959
  * Is the camera capturing sound right now? Read from the camera, never from
27941
27960
  * a server-side mirror.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.2.93",
3
+ "version": "1.2.94",
4
4
  "description": "HomeKit (HAP) exporter for CamStack devices. Publishes each exposed device as its own HomeKit accessory: cameras and doorbells with SRTP streaming, HomeKit Secure Video, motion, two-way audio, PTZ and battery; switches, lights, locks and sensors through a capability→service table.",
5
5
  "keywords": [
6
6
  "camstack",