@camstack/addon-osd-manager 0.1.52 → 0.1.53

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-6nCOK7Ff.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CH15I1vt.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-DirfTCag.mjs";
5
5
  import { c as _, l as v, u as y } from "./use-device-snapshot-C7YOfC1C.mjs";
@@ -1,9 +1,9 @@
1
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-6nCOK7Ff.mjs";
1
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CH15I1vt.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.60",
6
+ version: "1.2.61",
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.140",
21
+ version: "1.2.141",
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.106",
36
+ version: "1.2.107",
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.140",
39
+ version: "1.2.141",
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.60",
48
+ version: "1.2.61",
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.106",
84
+ version: "1.2.107",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -21830,7 +21830,20 @@ var RecentTracksQueryInput = object({
21830
21830
  projection: TrackProjectionSchema.optional(),
21831
21831
  /** Include stationary-promoted rows (parked objects). Default false: the
21832
21832
  * feed lists passages; parking records live on the stationary registry. */
21833
- includeStationary: boolean().optional()
21833
+ includeStationary: boolean().optional(),
21834
+ /**
21835
+ * Restrict to these track classes. ABSENT or EMPTY means no filter.
21836
+ *
21837
+ * The same filter `listTracks` takes, because the timeline's class chips must
21838
+ * mean the same thing whether the scope is one camera or twelve. Until this
21839
+ * existed the scoped feed downloaded a page and narrowed it on the phone
21840
+ * while the single-camera path narrowed the read — one filter, two costs.
21841
+ *
21842
+ * A SUPERSET prefilter on `classes[]`, like its single-camera twin: rows
21843
+ * whose class list is unreadable are kept, and the client's rule stays the
21844
+ * exact one.
21845
+ */
21846
+ classes: array(string()).optional()
21834
21847
  });
21835
21848
  var RecentTracksPageSchema = object({
21836
21849
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
@@ -27815,8 +27828,22 @@ var automationControlCapability = {
27815
27828
  * threshold.
27816
27829
  */
27817
27830
  var BatteryStatusSchema = object({
27818
- /** 0..100 inclusive. Firmware-reported. */
27819
- percentage: number().min(0).max(100),
27831
+ /**
27832
+ * 0..100 inclusive, firmware-reported. **`null` means NOT YET KNOWN** — the
27833
+ * provider has registered the capability but no reading has landed.
27834
+ *
27835
+ * It is nullable because it was not, and the only value a provider could
27836
+ * seed with was `0`. A battery camera behind an NVR therefore announced
27837
+ * itself at 0% on every start and corrected itself a moment later, which is
27838
+ * indistinguishable from a real flat battery: it fires the low-battery alert
27839
+ * every time the hub restarts. Unknown is not empty (D315), and on a battery
27840
+ * reading the difference is an alarm.
27841
+ *
27842
+ * `vacuum-control` and `lawn-mower-control` already model it this way.
27843
+ * Consumers must SKIP a null rather than coerce it — `battery-band` already
27844
+ * declines to band a non-finite reading, which is the correct shape.
27845
+ */
27846
+ percentage: number().min(0).max(100).nullable(),
27820
27847
  /**
27821
27848
  * Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
27822
27849
  * Reolink-specific for the Solar Panel 2 accessory (will become
package/dist/index.mjs CHANGED
@@ -21826,7 +21826,20 @@ var RecentTracksQueryInput = object({
21826
21826
  projection: TrackProjectionSchema.optional(),
21827
21827
  /** Include stationary-promoted rows (parked objects). Default false: the
21828
21828
  * feed lists passages; parking records live on the stationary registry. */
21829
- includeStationary: boolean().optional()
21829
+ includeStationary: boolean().optional(),
21830
+ /**
21831
+ * Restrict to these track classes. ABSENT or EMPTY means no filter.
21832
+ *
21833
+ * The same filter `listTracks` takes, because the timeline's class chips must
21834
+ * mean the same thing whether the scope is one camera or twelve. Until this
21835
+ * existed the scoped feed downloaded a page and narrowed it on the phone
21836
+ * while the single-camera path narrowed the read — one filter, two costs.
21837
+ *
21838
+ * A SUPERSET prefilter on `classes[]`, like its single-camera twin: rows
21839
+ * whose class list is unreadable are kept, and the client's rule stays the
21840
+ * exact one.
21841
+ */
21842
+ classes: array(string()).optional()
21830
21843
  });
21831
21844
  var RecentTracksPageSchema = object({
21832
21845
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
@@ -27811,8 +27824,22 @@ var automationControlCapability = {
27811
27824
  * threshold.
27812
27825
  */
27813
27826
  var BatteryStatusSchema = object({
27814
- /** 0..100 inclusive. Firmware-reported. */
27815
- percentage: number().min(0).max(100),
27827
+ /**
27828
+ * 0..100 inclusive, firmware-reported. **`null` means NOT YET KNOWN** — the
27829
+ * provider has registered the capability but no reading has landed.
27830
+ *
27831
+ * It is nullable because it was not, and the only value a provider could
27832
+ * seed with was `0`. A battery camera behind an NVR therefore announced
27833
+ * itself at 0% on every start and corrected itself a moment later, which is
27834
+ * indistinguishable from a real flat battery: it fires the low-battery alert
27835
+ * every time the hub restarts. Unknown is not empty (D315), and on a battery
27836
+ * reading the difference is an alarm.
27837
+ *
27838
+ * `vacuum-control` and `lawn-mower-control` already model it this way.
27839
+ * Consumers must SKIP a null rather than coerce it — `battery-band` already
27840
+ * declines to band a non-finite reading, which is the correct shape.
27841
+ */
27842
+ percentage: number().min(0).max(100).nullable(),
27816
27843
  /**
27817
27844
  * Charging source. `'dc'` covers wall/USB adapters; `'solar'` is
27818
27845
  * Reolink-specific for the Solar Panel 2 accessory (will become
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-6nCOK7Ff.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-CH15I1vt.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-BiMaF098.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-Ch5fR61S.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.52",
3
+ "version": "0.1.53",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",