@camstack/addon-provider-reolink 1.2.111 → 1.2.113

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
@@ -21356,6 +21356,22 @@ var occupancyRecheckFramesField = {
21356
21356
  step: 1
21357
21357
  };
21358
21358
  /**
21359
+ * Frames one PRE-ROLL catch-up burst may send to inference at session open.
21360
+ *
21361
+ * The default of 12 over a ~4 s retained window is one frame per ~333 ms of
21362
+ * footage, and costs ~480 ms of ONE inference permit at the 40 ms/frame this
21363
+ * fleet measures — one-shot, and only ever taken while a permit would still be
21364
+ * spare for live. `0` turns the burst off entirely (the history is still
21365
+ * decoded, because that is how the dial reaches a decodable GOP, and is then
21366
+ * discarded — the pre-D411 behaviour).
21367
+ */
21368
+ var preRollInferenceFramesField = {
21369
+ min: 0,
21370
+ max: 30,
21371
+ default: 12,
21372
+ step: 1
21373
+ };
21374
+ /**
21359
21375
  * Source enum for motion signals fed to the runner. Extensible — add
21360
21376
  * new variants here when new motion-trigger paths are wired in
21361
21377
  * (`wasm-cross-camera`, `event-bus-relay`, etc.). The runner uses
@@ -21596,6 +21612,31 @@ var RunnerCameraConfigSchema = object({
21596
21612
  * to every occupancy rule until something moved in front of it. The churn is
21597
21613
  * now paid on the interval instead — see `occupancyRecheckSecField`.
21598
21614
  */
21615
+ /**
21616
+ * Infer the session's PRE-ROLL — the retained history the restreamer replays
21617
+ * at session open — instead of decoding it and throwing it away.
21618
+ *
21619
+ * DEFAULT `true`, and the default is the argument. This is not a new
21620
+ * capability being offered cautiously: the pre-roll is ALREADY requested,
21621
+ * already served, already decoded and already paid for on every on-motion
21622
+ * detection session that asks for history. What shipped was a last-moment
21623
+ * discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
21624
+ * arriving inside a few hundred ms of wall clock looks to it like one frame's
21625
+ * worth. Device 617, 2026-09-08: a re-run of the SAME model over the stored
21626
+ * recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
21627
+ * 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
21628
+ * was decoded, and was freed.
21629
+ *
21630
+ * Shipping that as opt-in would ship the bug: an operator cannot discover a
21631
+ * setting whose absence looks exactly like a camera that noticed the cyclist
21632
+ * late. What makes ON safe is not a switch but the BOUND —
21633
+ * `preRollInferenceFrames`, a wall-clock ceiling, and a lane that never takes
21634
+ * the last inference permit — so the switch exists for the camera where the
21635
+ * history is worthless (a doorbell whose subject is always already at the
21636
+ * door), not as a hedge against the feature.
21637
+ */
21638
+ preRollInferenceEnabled: boolean().default(true),
21639
+ preRollInferenceFrames: number().min(preRollInferenceFramesField.min).max(preRollInferenceFramesField.max).default(preRollInferenceFramesField.default),
21599
21640
  occupancyRecheckEnabled: boolean().default(true),
21600
21641
  occupancyRecheckSec: number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
21601
21642
  occupancyRecheckFrames: number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
@@ -21624,7 +21665,7 @@ var RunnerCameraConfigSchema = object({
21624
21665
  */
21625
21666
  inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
21626
21667
  });
21627
- motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, audioMotionWindowMsField.min, audioMotionWindowMsField.max, audioMotionWindowMsField.step, audioMotionWindowMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
21668
+ motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, audioMotionWindowMsField.min, audioMotionWindowMsField.max, audioMotionWindowMsField.step, audioMotionWindowMsField.default, preRollInferenceFramesField.min, preRollInferenceFramesField.max, preRollInferenceFramesField.step, preRollInferenceFramesField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
21628
21669
  /**
21629
21670
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
21630
21671
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
package/dist/addon.mjs CHANGED
@@ -21351,6 +21351,22 @@ var occupancyRecheckFramesField = {
21351
21351
  step: 1
21352
21352
  };
21353
21353
  /**
21354
+ * Frames one PRE-ROLL catch-up burst may send to inference at session open.
21355
+ *
21356
+ * The default of 12 over a ~4 s retained window is one frame per ~333 ms of
21357
+ * footage, and costs ~480 ms of ONE inference permit at the 40 ms/frame this
21358
+ * fleet measures — one-shot, and only ever taken while a permit would still be
21359
+ * spare for live. `0` turns the burst off entirely (the history is still
21360
+ * decoded, because that is how the dial reaches a decodable GOP, and is then
21361
+ * discarded — the pre-D411 behaviour).
21362
+ */
21363
+ var preRollInferenceFramesField = {
21364
+ min: 0,
21365
+ max: 30,
21366
+ default: 12,
21367
+ step: 1
21368
+ };
21369
+ /**
21354
21370
  * Source enum for motion signals fed to the runner. Extensible — add
21355
21371
  * new variants here when new motion-trigger paths are wired in
21356
21372
  * (`wasm-cross-camera`, `event-bus-relay`, etc.). The runner uses
@@ -21591,6 +21607,31 @@ var RunnerCameraConfigSchema = object({
21591
21607
  * to every occupancy rule until something moved in front of it. The churn is
21592
21608
  * now paid on the interval instead — see `occupancyRecheckSecField`.
21593
21609
  */
21610
+ /**
21611
+ * Infer the session's PRE-ROLL — the retained history the restreamer replays
21612
+ * at session open — instead of decoding it and throwing it away.
21613
+ *
21614
+ * DEFAULT `true`, and the default is the argument. This is not a new
21615
+ * capability being offered cautiously: the pre-roll is ALREADY requested,
21616
+ * already served, already decoded and already paid for on every on-motion
21617
+ * detection session that asks for history. What shipped was a last-moment
21618
+ * discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
21619
+ * arriving inside a few hundred ms of wall clock looks to it like one frame's
21620
+ * worth. Device 617, 2026-09-08: a re-run of the SAME model over the stored
21621
+ * recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
21622
+ * 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
21623
+ * was decoded, and was freed.
21624
+ *
21625
+ * Shipping that as opt-in would ship the bug: an operator cannot discover a
21626
+ * setting whose absence looks exactly like a camera that noticed the cyclist
21627
+ * late. What makes ON safe is not a switch but the BOUND —
21628
+ * `preRollInferenceFrames`, a wall-clock ceiling, and a lane that never takes
21629
+ * the last inference permit — so the switch exists for the camera where the
21630
+ * history is worthless (a doorbell whose subject is always already at the
21631
+ * door), not as a hedge against the feature.
21632
+ */
21633
+ preRollInferenceEnabled: boolean().default(true),
21634
+ preRollInferenceFrames: number().min(preRollInferenceFramesField.min).max(preRollInferenceFramesField.max).default(preRollInferenceFramesField.default),
21594
21635
  occupancyRecheckEnabled: boolean().default(true),
21595
21636
  occupancyRecheckSec: number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
21596
21637
  occupancyRecheckFrames: number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
@@ -21619,7 +21660,7 @@ var RunnerCameraConfigSchema = object({
21619
21660
  */
21620
21661
  inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
21621
21662
  });
21622
- motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, audioMotionWindowMsField.min, audioMotionWindowMsField.max, audioMotionWindowMsField.step, audioMotionWindowMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
21663
+ motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, audioMotionWindowMsField.min, audioMotionWindowMsField.max, audioMotionWindowMsField.step, audioMotionWindowMsField.default, preRollInferenceFramesField.min, preRollInferenceFramesField.max, preRollInferenceFramesField.step, preRollInferenceFramesField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
21623
21664
  /**
21624
21665
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
21625
21666
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-reolink",
3
- "version": "1.2.111",
3
+ "version": "1.2.113",
4
4
  "description": "Reolink camera device provider addon for CamStack — native Baichuan protocol",
5
5
  "keywords": [
6
6
  "camstack",