@camstack/addon-osd-manager 0.1.85 → 0.1.86

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/_stub.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./virtualExposes-BgZ5Cn7S.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BJDt9aSL.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-De2dnnNJ.mjs";
3
3
  import { _ as e, c as t, d as n, h as r, i, l as a, m as o, n as s, p as c, r as l, t as u, u as d, y as f } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
4
4
  import { i as p, o as m, r as h, s as g } from "./responsive-su-j7vCi.mjs";
5
5
  import { d as _, l as v, u as y } from "./use-device-snapshot-BAK2bXGM.mjs";
@@ -1,9 +1,9 @@
1
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BJDt9aSL.mjs";
1
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-De2dnnNJ.mjs";
2
2
  //#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_osd_manager_page
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.91",
6
+ version: "1.2.92",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_osd_manager_page",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.171",
21
+ version: "1.2.172",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_osd_manager_page",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.139",
36
+ version: "1.2.140",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_osd_manager_page",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.171",
39
+ version: "1.2.172",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.91",
48
+ version: "1.2.92",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.139",
84
+ version: "1.2.140",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -24010,6 +24010,22 @@ var occupancyRecheckFramesField = {
24010
24010
  step: 1
24011
24011
  };
24012
24012
  /**
24013
+ * Frames one PRE-ROLL catch-up burst may send to inference at session open.
24014
+ *
24015
+ * The default of 12 over a ~4 s retained window is one frame per ~333 ms of
24016
+ * footage, and costs ~480 ms of ONE inference permit at the 40 ms/frame this
24017
+ * fleet measures — one-shot, and only ever taken while a permit would still be
24018
+ * spare for live. `0` turns the burst off entirely (the history is still
24019
+ * decoded, because that is how the dial reaches a decodable GOP, and is then
24020
+ * discarded — the pre-D411 behaviour).
24021
+ */
24022
+ var preRollInferenceFramesField = {
24023
+ min: 0,
24024
+ max: 30,
24025
+ default: 12,
24026
+ step: 1
24027
+ };
24028
+ /**
24013
24029
  * Source enum for motion signals fed to the runner. Extensible — add
24014
24030
  * new variants here when new motion-trigger paths are wired in
24015
24031
  * (`wasm-cross-camera`, `event-bus-relay`, etc.). The runner uses
@@ -24250,6 +24266,31 @@ var RunnerCameraConfigSchema = object({
24250
24266
  * to every occupancy rule until something moved in front of it. The churn is
24251
24267
  * now paid on the interval instead — see `occupancyRecheckSecField`.
24252
24268
  */
24269
+ /**
24270
+ * Infer the session's PRE-ROLL — the retained history the restreamer replays
24271
+ * at session open — instead of decoding it and throwing it away.
24272
+ *
24273
+ * DEFAULT `true`, and the default is the argument. This is not a new
24274
+ * capability being offered cautiously: the pre-roll is ALREADY requested,
24275
+ * already served, already decoded and already paid for on every on-motion
24276
+ * detection session that asks for history. What shipped was a last-moment
24277
+ * discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
24278
+ * arriving inside a few hundred ms of wall clock looks to it like one frame's
24279
+ * worth. Device 617, 2026-09-08: a re-run of the SAME model over the stored
24280
+ * recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
24281
+ * 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
24282
+ * was decoded, and was freed.
24283
+ *
24284
+ * Shipping that as opt-in would ship the bug: an operator cannot discover a
24285
+ * setting whose absence looks exactly like a camera that noticed the cyclist
24286
+ * late. What makes ON safe is not a switch but the BOUND —
24287
+ * `preRollInferenceFrames`, a wall-clock ceiling, and a lane that never takes
24288
+ * the last inference permit — so the switch exists for the camera where the
24289
+ * history is worthless (a doorbell whose subject is always already at the
24290
+ * door), not as a hedge against the feature.
24291
+ */
24292
+ preRollInferenceEnabled: boolean().default(true),
24293
+ preRollInferenceFrames: number().min(preRollInferenceFramesField.min).max(preRollInferenceFramesField.max).default(preRollInferenceFramesField.default),
24253
24294
  occupancyRecheckEnabled: boolean().default(true),
24254
24295
  occupancyRecheckSec: number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
24255
24296
  occupancyRecheckFrames: number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
@@ -24278,7 +24319,7 @@ var RunnerCameraConfigSchema = object({
24278
24319
  */
24279
24320
  inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
24280
24321
  });
24281
- 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;
24322
+ 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;
24282
24323
  /**
24283
24324
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
24284
24325
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
package/dist/index.mjs CHANGED
@@ -24006,6 +24006,22 @@ var occupancyRecheckFramesField = {
24006
24006
  step: 1
24007
24007
  };
24008
24008
  /**
24009
+ * Frames one PRE-ROLL catch-up burst may send to inference at session open.
24010
+ *
24011
+ * The default of 12 over a ~4 s retained window is one frame per ~333 ms of
24012
+ * footage, and costs ~480 ms of ONE inference permit at the 40 ms/frame this
24013
+ * fleet measures — one-shot, and only ever taken while a permit would still be
24014
+ * spare for live. `0` turns the burst off entirely (the history is still
24015
+ * decoded, because that is how the dial reaches a decodable GOP, and is then
24016
+ * discarded — the pre-D411 behaviour).
24017
+ */
24018
+ var preRollInferenceFramesField = {
24019
+ min: 0,
24020
+ max: 30,
24021
+ default: 12,
24022
+ step: 1
24023
+ };
24024
+ /**
24009
24025
  * Source enum for motion signals fed to the runner. Extensible — add
24010
24026
  * new variants here when new motion-trigger paths are wired in
24011
24027
  * (`wasm-cross-camera`, `event-bus-relay`, etc.). The runner uses
@@ -24246,6 +24262,31 @@ var RunnerCameraConfigSchema = object({
24246
24262
  * to every occupancy rule until something moved in front of it. The churn is
24247
24263
  * now paid on the interval instead — see `occupancyRecheckSecField`.
24248
24264
  */
24265
+ /**
24266
+ * Infer the session's PRE-ROLL — the retained history the restreamer replays
24267
+ * at session open — instead of decoding it and throwing it away.
24268
+ *
24269
+ * DEFAULT `true`, and the default is the argument. This is not a new
24270
+ * capability being offered cautiously: the pre-roll is ALREADY requested,
24271
+ * already served, already decoded and already paid for on every on-motion
24272
+ * detection session that asks for history. What shipped was a last-moment
24273
+ * discard — `FrameSlot`'s throttle compares wall clocks, and ~4 s of media
24274
+ * arriving inside a few hundred ms of wall clock looks to it like one frame's
24275
+ * worth. Device 617, 2026-09-08: a re-run of the SAME model over the stored
24276
+ * recording scored the subject `vehicle 0.5669` — above the 0.50 floor —
24277
+ * 1.68 s BEFORE the live track was born, on a frame that was in the pre-roll,
24278
+ * was decoded, and was freed.
24279
+ *
24280
+ * Shipping that as opt-in would ship the bug: an operator cannot discover a
24281
+ * setting whose absence looks exactly like a camera that noticed the cyclist
24282
+ * late. What makes ON safe is not a switch but the BOUND —
24283
+ * `preRollInferenceFrames`, a wall-clock ceiling, and a lane that never takes
24284
+ * the last inference permit — so the switch exists for the camera where the
24285
+ * history is worthless (a doorbell whose subject is always already at the
24286
+ * door), not as a hedge against the feature.
24287
+ */
24288
+ preRollInferenceEnabled: boolean().default(true),
24289
+ preRollInferenceFrames: number().min(preRollInferenceFramesField.min).max(preRollInferenceFramesField.max).default(preRollInferenceFramesField.default),
24249
24290
  occupancyRecheckEnabled: boolean().default(true),
24250
24291
  occupancyRecheckSec: number().min(occupancyRecheckSecField.min).max(occupancyRecheckSecField.max).default(occupancyRecheckSecField.default),
24251
24292
  occupancyRecheckFrames: number().min(occupancyRecheckFramesField.min).max(occupancyRecheckFramesField.max).default(occupancyRecheckFramesField.default),
@@ -24274,7 +24315,7 @@ var RunnerCameraConfigSchema = object({
24274
24315
  */
24275
24316
  inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
24276
24317
  });
24277
- 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;
24318
+ 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;
24278
24319
  /**
24279
24320
  * Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
24280
24321
  * load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BJDt9aSL.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-De2dnnNJ.mjs";
2
2
  export { t as get, e as init };
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BLKG4jC2.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-DSQfQYzJ.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-osd-manager",
3
- "version": "0.1.85",
3
+ "version": "0.1.86",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",