@camstack/addon-import-alexa 0.2.87 → 0.2.88

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
@@ -20955,6 +20955,22 @@ var occupancyRecheckFramesField = {
20955
20955
  step: 1
20956
20956
  };
20957
20957
  /**
20958
+ * Frames one PRE-ROLL catch-up burst may send to inference at session open.
20959
+ *
20960
+ * The default of 12 over a ~4 s retained window is one frame per ~333 ms of
20961
+ * footage, and costs ~480 ms of ONE inference permit at the 40 ms/frame this
20962
+ * fleet measures — one-shot, and only ever taken while a permit would still be
20963
+ * spare for live. `0` turns the burst off entirely (the history is still
20964
+ * decoded, because that is how the dial reaches a decodable GOP, and is then
20965
+ * discarded — the pre-D411 behaviour).
20966
+ */
20967
+ var preRollInferenceFramesField = {
20968
+ min: 0,
20969
+ max: 30,
20970
+ default: 12,
20971
+ step: 1
20972
+ };
20973
+ /**
20958
20974
  * Source enum for motion signals fed to the runner. Extensible — add
20959
20975
  * new variants here when new motion-trigger paths are wired in
20960
20976
  * (`wasm-cross-camera`, `event-bus-relay`, etc.). The runner uses
@@ -21195,6 +21211,31 @@ var RunnerCameraConfigSchema = object({
21195
21211
  * to every occupancy rule until something moved in front of it. The churn is
21196
21212
  * now paid on the interval instead — see `occupancyRecheckSecField`.
21197
21213
  */
21214
+ /**
21215
+ * Infer the session's PRE-ROLL — the retained history the restreamer replays
21216
+ * at session open — instead of decoding it and throwing it away.
21217
+ *
21218
+ * DEFAULT `true`, and the default is the argument. This is not a new
21219
+ * capability being offered cautiously: the pre-roll is ALREADY requested,
21220
+ * already served, already decoded and already paid for on every on-motion
21221
+ * detection session that asks for history. What shipped was a last-moment
21222
+ * discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
21223
+ * arriving inside a few hundred ms of wall clock looks to it like one frame's
21224
+ * worth. Device 617, 2026-09-08: a re-run of the SAME model over the stored
21225
+ * recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
21226
+ * 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
21227
+ * was decoded, and was freed.
21228
+ *
21229
+ * Shipping that as opt-in would ship the bug: an operator cannot discover a
21230
+ * setting whose absence looks exactly like a camera that noticed the cyclist
21231
+ * late. What makes ON safe is not a switch but the BOUND —
21232
+ * `preRollInferenceFrames`, a wall-clock ceiling, and a lane that never takes
21233
+ * the last inference permit — so the switch exists for the camera where the
21234
+ * history is worthless (a doorbell whose subject is always already at the
21235
+ * door), not as a hedge against the feature.
21236
+ */
21237
+ preRollInferenceEnabled: boolean().default(true),
21238
+ preRollInferenceFrames: number().min(preRollInferenceFramesField.min).max(preRollInferenceFramesField.max).default(preRollInferenceFramesField.default),
21198
21239
  occupancyRecheckEnabled: boolean().default(true),
21199
21240
  occupancyRecheckSec: number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
21200
21241
  occupancyRecheckFrames: number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
@@ -21223,7 +21264,7 @@ var RunnerCameraConfigSchema = object({
21223
21264
  */
21224
21265
  inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
21225
21266
  });
21226
- 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;
21267
+ 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;
21227
21268
  /**
21228
21269
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
21229
21270
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
package/dist/addon.mjs CHANGED
@@ -20955,6 +20955,22 @@ var occupancyRecheckFramesField = {
20955
20955
  step: 1
20956
20956
  };
20957
20957
  /**
20958
+ * Frames one PRE-ROLL catch-up burst may send to inference at session open.
20959
+ *
20960
+ * The default of 12 over a ~4 s retained window is one frame per ~333 ms of
20961
+ * footage, and costs ~480 ms of ONE inference permit at the 40 ms/frame this
20962
+ * fleet measures — one-shot, and only ever taken while a permit would still be
20963
+ * spare for live. `0` turns the burst off entirely (the history is still
20964
+ * decoded, because that is how the dial reaches a decodable GOP, and is then
20965
+ * discarded — the pre-D411 behaviour).
20966
+ */
20967
+ var preRollInferenceFramesField = {
20968
+ min: 0,
20969
+ max: 30,
20970
+ default: 12,
20971
+ step: 1
20972
+ };
20973
+ /**
20958
20974
  * Source enum for motion signals fed to the runner. Extensible — add
20959
20975
  * new variants here when new motion-trigger paths are wired in
20960
20976
  * (`wasm-cross-camera`, `event-bus-relay`, etc.). The runner uses
@@ -21195,6 +21211,31 @@ var RunnerCameraConfigSchema = object({
21195
21211
  * to every occupancy rule until something moved in front of it. The churn is
21196
21212
  * now paid on the interval instead — see `occupancyRecheckSecField`.
21197
21213
  */
21214
+ /**
21215
+ * Infer the session's PRE-ROLL — the retained history the restreamer replays
21216
+ * at session open — instead of decoding it and throwing it away.
21217
+ *
21218
+ * DEFAULT `true`, and the default is the argument. This is not a new
21219
+ * capability being offered cautiously: the pre-roll is ALREADY requested,
21220
+ * already served, already decoded and already paid for on every on-motion
21221
+ * detection session that asks for history. What shipped was a last-moment
21222
+ * discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
21223
+ * arriving inside a few hundred ms of wall clock looks to it like one frame's
21224
+ * worth. Device 617, 2026-09-08: a re-run of the SAME model over the stored
21225
+ * recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
21226
+ * 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
21227
+ * was decoded, and was freed.
21228
+ *
21229
+ * Shipping that as opt-in would ship the bug: an operator cannot discover a
21230
+ * setting whose absence looks exactly like a camera that noticed the cyclist
21231
+ * late. What makes ON safe is not a switch but the BOUND —
21232
+ * `preRollInferenceFrames`, a wall-clock ceiling, and a lane that never takes
21233
+ * the last inference permit — so the switch exists for the camera where the
21234
+ * history is worthless (a doorbell whose subject is always already at the
21235
+ * door), not as a hedge against the feature.
21236
+ */
21237
+ preRollInferenceEnabled: boolean().default(true),
21238
+ preRollInferenceFrames: number().min(preRollInferenceFramesField.min).max(preRollInferenceFramesField.max).default(preRollInferenceFramesField.default),
21198
21239
  occupancyRecheckEnabled: boolean().default(true),
21199
21240
  occupancyRecheckSec: number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
21200
21241
  occupancyRecheckFrames: number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
@@ -21223,7 +21264,7 @@ var RunnerCameraConfigSchema = object({
21223
21264
  */
21224
21265
  inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
21225
21266
  });
21226
- 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;
21267
+ 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;
21227
21268
  /**
21228
21269
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
21229
21270
  * 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-import-alexa",
3
- "version": "0.2.87",
3
+ "version": "0.2.88",
4
4
  "description": "Alexa device-import provider for CamStack — imports the smart-home devices in a user's Alexa account via the unofficial alexa-remote2 cookie/token client (the inverse of the Alexa exporter)",
5
5
  "keywords": [
6
6
  "camstack",