@camstack/addon-export-hap 1.2.132 → 1.2.134

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.
@@ -108386,22 +108386,43 @@ function syncStateToJson(map) {
108386
108386
  * capabilities bound to it — restricting coverage by type is precisely what
108387
108387
  * confined this exporter to cameras for its first three rounds.
108388
108388
  */
108389
+ /**
108390
+ * What an entry with no stored settings is read as — and what a camera
108391
+ * exported TODAY is built from. Exported so a spec can assert the one thing
108392
+ * that matters about it: it must resolve to NOT recording, or "off by default"
108393
+ * is true only for cameras exposed before the flip.
108394
+ */
108389
108395
  var DEFAULT_DEVICE_SETTINGS = {
108390
108396
  streamPreference: "auto",
108391
- hksvRecording: true
108397
+ hksvRecording: false
108392
108398
  };
108393
108399
  /**
108394
- * ON unless explicitly switched off — operator decision 2026-08-08 (flipped
108395
- * from the launch default of off). ABSENT must resolve to ON or the flip is a
108396
- * lie for every entry persisted before the field existed, so every read goes
108397
- * through this one resolver (`!== false`), never a scattered `=== true`. The
108398
- * cost that made off-by-default look prudent is measured and small on the only
108399
- * branch the recorder accepts (copy: 0.7 % of a core / ~30 MB RSS, D84), and a
108400
- * camera the recorder cannot copy refuses recording with a logged reason
108401
- * rather than paying for a transcode.
108400
+ * OFF unless explicitly switched on — operator decision 2026-09-21, reversing
108401
+ * the 2026-08-08 flip:
108402
+ *
108403
+ * > *"il recording deve essere off di default, non deve essere attivo quando
108404
+ * > si esporta una camera su HKSV"*
108405
+ *
108406
+ * What changed is not the cost the earlier record argued about — recording on
108407
+ * the copy branch really is 0.7 % of a core and ~30 MB (D84), and cheap it
108408
+ * remains. What changed is that on-by-default made the switch **say something
108409
+ * the system was not doing**. Measured on 2026-09-21: 592, 587, 618 and 640
108410
+ * all reported HomeKit recording ON while the advertisement was WITHHELD
108411
+ * (`no-enabled-stream` — no enabled RTSP profile), so HomeKit never recorded
108412
+ * them and the tee had nothing to keep. The operator was being told four
108413
+ * cameras were recording because nobody had turned them off.
108414
+ *
108415
+ * Exposing a camera to HomeKit is a decision about EXPOSURE. Recording is a
108416
+ * second decision and now has to be made.
108417
+ *
108418
+ * ABSENT resolves OFF — the load-bearing case, for the same reason it was
108419
+ * before and with the opposite answer: a camera whose settings predate the
108420
+ * field, or that was exposed before today, was never asked about. Every read
108421
+ * goes through this one resolver (`=== true`), never a scattered `!== false`,
108422
+ * because those two disagree about exactly that case.
108402
108423
  */
108403
108424
  function resolveHksvRecording(settings) {
108404
- return settings?.hksvRecording !== false;
108425
+ return settings?.hksvRecording === true;
108405
108426
  }
108406
108427
  /**
108407
108428
  * Whether this camera offers Apple's NEW camera service alongside the classic
@@ -109534,6 +109555,7 @@ function errMsg(err) {
109534
109555
  }
109535
109556
  //#endregion
109536
109557
  exports.DEFAULT_CLIP_RETENTION_DAYS = DEFAULT_CLIP_RETENTION_DAYS;
109558
+ exports.DEFAULT_DEVICE_SETTINGS = DEFAULT_DEVICE_SETTINGS;
109537
109559
  exports.EXPORT_HAP_ADDON_ID = EXPORT_HAP_ADDON_ID;
109538
109560
  exports.ExportHapAddon = ExportHapAddon;
109539
109561
  exports.default = ExportHapAddon;
@@ -108376,22 +108376,43 @@ function syncStateToJson(map) {
108376
108376
  * capabilities bound to it — restricting coverage by type is precisely what
108377
108377
  * confined this exporter to cameras for its first three rounds.
108378
108378
  */
108379
+ /**
108380
+ * What an entry with no stored settings is read as — and what a camera
108381
+ * exported TODAY is built from. Exported so a spec can assert the one thing
108382
+ * that matters about it: it must resolve to NOT recording, or "off by default"
108383
+ * is true only for cameras exposed before the flip.
108384
+ */
108379
108385
  var DEFAULT_DEVICE_SETTINGS = {
108380
108386
  streamPreference: "auto",
108381
- hksvRecording: true
108387
+ hksvRecording: false
108382
108388
  };
108383
108389
  /**
108384
- * ON unless explicitly switched off — operator decision 2026-08-08 (flipped
108385
- * from the launch default of off). ABSENT must resolve to ON or the flip is a
108386
- * lie for every entry persisted before the field existed, so every read goes
108387
- * through this one resolver (`!== false`), never a scattered `=== true`. The
108388
- * cost that made off-by-default look prudent is measured and small on the only
108389
- * branch the recorder accepts (copy: 0.7 % of a core / ~30 MB RSS, D84), and a
108390
- * camera the recorder cannot copy refuses recording with a logged reason
108391
- * rather than paying for a transcode.
108390
+ * OFF unless explicitly switched on — operator decision 2026-09-21, reversing
108391
+ * the 2026-08-08 flip:
108392
+ *
108393
+ * > *"il recording deve essere off di default, non deve essere attivo quando
108394
+ * > si esporta una camera su HKSV"*
108395
+ *
108396
+ * What changed is not the cost the earlier record argued about — recording on
108397
+ * the copy branch really is 0.7 % of a core and ~30 MB (D84), and cheap it
108398
+ * remains. What changed is that on-by-default made the switch **say something
108399
+ * the system was not doing**. Measured on 2026-09-21: 592, 587, 618 and 640
108400
+ * all reported HomeKit recording ON while the advertisement was WITHHELD
108401
+ * (`no-enabled-stream` — no enabled RTSP profile), so HomeKit never recorded
108402
+ * them and the tee had nothing to keep. The operator was being told four
108403
+ * cameras were recording because nobody had turned them off.
108404
+ *
108405
+ * Exposing a camera to HomeKit is a decision about EXPOSURE. Recording is a
108406
+ * second decision and now has to be made.
108407
+ *
108408
+ * ABSENT resolves OFF — the load-bearing case, for the same reason it was
108409
+ * before and with the opposite answer: a camera whose settings predate the
108410
+ * field, or that was exposed before today, was never asked about. Every read
108411
+ * goes through this one resolver (`=== true`), never a scattered `!== false`,
108412
+ * because those two disagree about exactly that case.
108392
108413
  */
108393
108414
  function resolveHksvRecording(settings) {
108394
- return settings?.hksvRecording !== false;
108415
+ return settings?.hksvRecording === true;
108395
108416
  }
108396
108417
  /**
108397
108418
  * Whether this camera offers Apple's NEW camera service alongside the classic
@@ -109523,4 +109544,4 @@ function errMsg(err) {
109523
109544
  return err instanceof Error ? err.message : String(err);
109524
109545
  }
109525
109546
  //#endregion
109526
- export { DEFAULT_CLIP_RETENTION_DAYS, EXPORT_HAP_ADDON_ID, ExportHapAddon, ExportHapAddon as default, describeHksvCamera, unpublishAccessory as i, initHapStorage as n, publishStandalone as r, resolveClipRetentionDays, resolveHksvRecording, resolveKeepHomekitClips, resolveMultiTierService, deriveUsername as t };
109547
+ export { DEFAULT_CLIP_RETENTION_DAYS, DEFAULT_DEVICE_SETTINGS, EXPORT_HAP_ADDON_ID, ExportHapAddon, ExportHapAddon as default, describeHksvCamera, unpublishAccessory as i, initHapStorage as n, publishStandalone as r, resolveClipRetentionDays, resolveHksvRecording, resolveKeepHomekitClips, resolveMultiTierService, deriveUsername as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.2.132",
3
+ "version": "1.2.134",
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",