@camstack/addon-post-analysis 1.1.13 → 1.1.15

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.
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DlqrO_A-.js");
5
+ const require_dist = require("../dist-DLIeYQDB.js");
6
6
  let node_fs = require("node:fs");
7
7
  let node_fs$1 = require_dist.__toESM(node_fs, 1);
8
8
  node_fs = require_dist.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { f as BaseAddon, i as embeddingEncoderCapability, o as hfModelUrl } from "../dist-COXXWoXN.mjs";
1
+ import { a as embeddingEncoderCapability, p as BaseAddon, s as hfModelUrl } from "../dist-CTfRCMMG.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DlqrO_A-.js");
6
- const require_resolve_frame = require("../resolve-frame-DCyc2Qwb.js");
5
+ const require_dist = require("../dist-DLIeYQDB.js");
6
+ const require_resolve_frame = require("../resolve-frame-xpUJERNO.js");
7
7
  let _camstack_shm_ring = require("@camstack/shm-ring");
8
8
  //#region src/enrichment-engine/types.ts
9
9
  var DEFAULT_ENRICHMENT_CONFIG = {
@@ -795,7 +795,7 @@ var EnrichmentEngineAddon = class extends require_dist.BaseAddon {
795
795
  }] });
796
796
  }
797
797
  async updateGlobalSettings(patch) {
798
- await this.ctx?.settings?.writeAddonStore(patch);
798
+ await super.updateGlobalSettings(patch);
799
799
  const prev = this.currentFlags;
800
800
  const next = {
801
801
  embeddingEnabled: typeof patch["embeddingEnabled"] === "boolean" ? patch["embeddingEnabled"] : prev.embeddingEnabled,
@@ -1,4 +1,4 @@
1
- import { C as string, S as object, b as boolean, f as BaseAddon, g as createEvent, h as asJsonObject, m as EventCategory, v as _enum, w as tuple, x as number, y as array } from "../dist-COXXWoXN.mjs";
1
+ import { C as object, S as number, T as tuple, _ as createEvent, b as array, g as asJsonObject, h as EventCategory, p as BaseAddon, w as string, x as boolean, y as _enum } from "../dist-CTfRCMMG.mjs";
2
2
  import { n as extractCrop, t as resolveFrame } from "../resolve-frame-CT1T1tWy.mjs";
3
3
  import { FrameRingReaderCache } from "@camstack/shm-ring";
4
4
  //#region src/enrichment-engine/types.ts
@@ -791,7 +791,7 @@ var EnrichmentEngineAddon = class extends BaseAddon {
791
791
  }] });
792
792
  }
793
793
  async updateGlobalSettings(patch) {
794
- await this.ctx?.settings?.writeAddonStore(patch);
794
+ await super.updateGlobalSettings(patch);
795
795
  const prev = this.currentFlags;
796
796
  const next = {
797
797
  embeddingEnabled: typeof patch["embeddingEnabled"] === "boolean" ? patch["embeddingEnabled"] : prev.embeddingEnabled,
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DlqrO_A-.js");
1
+ const require_dist = require("./dist-DLIeYQDB.js");
2
2
  let node_fs = require("node:fs");
3
3
  node_fs = require_dist.__toESM(node_fs, 1);
4
4
  let node_path = require("node:path");
@@ -1,6 +1,6 @@
1
1
  import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
2
2
  import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
3
- import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-C3Bc8Uy_.mjs";
3
+ import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-ncEsRSej.mjs";
4
4
  import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
5
5
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
6
6
  var _ = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), v = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), y = (e) => {
@@ -342,7 +342,7 @@ function oe(e) {
342
342
  return e ? ae[e.toLowerCase()] ?? "#6366f1" : "#71717a";
343
343
  }
344
344
  function se({ deviceId: n }) {
345
- let i = c(f().trpcClient, n), [a, s] = r("5m"), l = L[a], [u, d] = ee(), p = F(), _ = e(null), v = (e) => {
345
+ let i = s(p().trpcClient, n), [a, c] = r("5m"), l = L[a], [u, d] = ee(), f = F(), _ = e(null), v = (e) => {
346
346
  let t = _.current;
347
347
  if (!t) return e;
348
348
  let n = t.getBoundingClientRect();
@@ -383,7 +383,7 @@ function se({ deviceId: n }) {
383
383
  }), /* @__PURE__ */ m(M, {
384
384
  presets: ie,
385
385
  value: a,
386
- onChange: s
386
+ onChange: c
387
387
  })]
388
388
  }), /* @__PURE__ */ h("div", {
389
389
  ref: u,
@@ -400,7 +400,7 @@ function se({ deviceId: n }) {
400
400
  viewBox: `0 0 ${d} ${R}`,
401
401
  preserveAspectRatio: "none",
402
402
  className: "block",
403
- onMouseLeave: () => p.bindHover(null),
403
+ onMouseLeave: () => f.bindHover(null),
404
404
  children: [
405
405
  E.map(({ y: e, label: t }, n) => /* @__PURE__ */ h("g", { children: [/* @__PURE__ */ m("line", {
406
406
  x1: z.left,
@@ -457,7 +457,7 @@ function se({ deviceId: n }) {
457
457
  height: i,
458
458
  fill: "transparent",
459
459
  onMouseEnter: () => {
460
- p.bindHover({
460
+ f.bindHover({
461
461
  anchorX: v(n),
462
462
  anchorY: r,
463
463
  title: `${he(e.ts)} · ${e.dbfs?.toFixed(1) ?? "—"} dB`,
@@ -482,7 +482,7 @@ function se({ deviceId: n }) {
482
482
  })
483
483
  ]
484
484
  }), /* @__PURE__ */ m(I, {
485
- state: p.state,
485
+ state: f.state,
486
486
  containerWidth: d
487
487
  })] }), x.length > 0 && /* @__PURE__ */ h("div", {
488
488
  className: "flex items-center justify-between text-[10px] text-foreground-subtle mt-1",
@@ -580,7 +580,7 @@ function ge(e) {
580
580
  return !Number.isFinite(e) || e <= 0 ? 60 : Math.round(e > 600 ? e / 1e3 : e);
581
581
  }
582
582
  function _e({ dev: e, deviceId: t, title: n = "Audio Metrics", variant: r = "full" }) {
583
- let i = s(f().trpcClient, e === void 0 && t !== void 0 ? t : null, (e) => e.audioMetrics), a = u(e ? e.state.audioMetrics : void 0), o = e === void 0 ? i : a;
583
+ let i = u(p().trpcClient, e === void 0 && t !== void 0 ? t : null, (e) => e.audioMetrics), a = f(e ? e.state.audioMetrics : void 0), o = e === void 0 ? i : a;
584
584
  return o ? /* @__PURE__ */ m(ve, {
585
585
  title: n,
586
586
  variant: r,
@@ -790,27 +790,27 @@ var V = {
790
790
  left: 32
791
791
  }, W = "__all__";
792
792
  function we({ deviceId: n }) {
793
- let a = c(f().trpcClient, n), [s, l] = r("5m"), [d, p] = r(W), _ = V[s], [v, y] = ee(), b = F(), x = e(null), S = (e) => {
793
+ let a = s(p().trpcClient, n), [c, l] = r("5m"), [u, d] = r(W), _ = V[c], [v, y] = ee(), b = F(), x = e(null), S = (e) => {
794
794
  let t = x.current;
795
795
  if (!t) return e;
796
796
  let n = t.getBoundingClientRect();
797
797
  return n.width === 0 ? e : e / y * n.width;
798
- }, C = u(a?.state.zoneAnalytics), w = t(() => {
798
+ }, C = f(a?.state.zoneAnalytics), w = t(() => {
799
799
  let e = /* @__PURE__ */ new Set();
800
800
  if (C?.frame.byClass) for (let t of Object.keys(C.frame.byClass)) e.add(t);
801
801
  if (C?.zones) for (let t of C.zones) for (let n of Object.keys(t.byClass)) e.add(n);
802
802
  return [...e].toSorted();
803
803
  }, [C]);
804
804
  i(() => {
805
- d !== W && !w.includes(d) && p(W);
806
- }, [d, w]);
805
+ u !== W && !w.includes(u) && d(W);
806
+ }, [u, w]);
807
807
  let T = o({
808
808
  queryKey: [
809
809
  "zone-analytics",
810
810
  n,
811
811
  "cameraHistory",
812
- s,
813
- d
812
+ c,
813
+ u
814
814
  ],
815
815
  queryFn: async () => {
816
816
  if (!a) return [];
@@ -819,7 +819,7 @@ function we({ deviceId: n }) {
819
819
  from: e - _.windowMs,
820
820
  to: e,
821
821
  resolution: _.resolution,
822
- ...d === W ? {} : { className: d }
822
+ ...u === W ? {} : { className: u }
823
823
  }) ?? [];
824
824
  },
825
825
  enabled: !!a,
@@ -851,8 +851,8 @@ function we({ deviceId: n }) {
851
851
  }), /* @__PURE__ */ h("div", {
852
852
  className: "flex items-center gap-2",
853
853
  children: [w.length > 0 && /* @__PURE__ */ h("select", {
854
- value: d,
855
- onChange: (e) => p(e.target.value),
854
+ value: u,
855
+ onChange: (e) => d(e.target.value),
856
856
  className: "text-[10px] px-1.5 py-0.5 rounded border border-border bg-background text-foreground focus:outline-none focus:ring-1 focus:ring-primary/40",
857
857
  title: "Filter by detected class",
858
858
  children: [/* @__PURE__ */ m("option", {
@@ -864,7 +864,7 @@ function we({ deviceId: n }) {
864
864
  }, e))]
865
865
  }), /* @__PURE__ */ m(M, {
866
866
  presets: Ce,
867
- value: s,
867
+ value: c,
868
868
  onChange: l
869
869
  })]
870
870
  })]
@@ -935,7 +935,7 @@ function we({ deviceId: n }) {
935
935
  title: `${Oe(e.ts)} · ${e.count} object${e.count === 1 ? "" : "s"}`,
936
936
  rows: [{
937
937
  label: "Class",
938
- value: d === W ? "all" : d
938
+ value: u === W ? "all" : u
939
939
  }, {
940
940
  label: "Bucket",
941
941
  value: _.resolution
@@ -1036,7 +1036,7 @@ var G = {
1036
1036
  left: 32
1037
1037
  };
1038
1038
  function je({ deviceId: n }) {
1039
- let i = c(f().trpcClient, n), [a, s] = r("1h"), l = G[a], [u, d] = ee(), p = F(), _ = e(null), v = (e) => {
1039
+ let i = s(p().trpcClient, n), [a, c] = r("1h"), l = G[a], [u, d] = ee(), f = F(), _ = e(null), v = (e) => {
1040
1040
  let t = _.current;
1041
1041
  if (!t) return e;
1042
1042
  let n = t.getBoundingClientRect();
@@ -1086,7 +1086,7 @@ function je({ deviceId: n }) {
1086
1086
  }), /* @__PURE__ */ m(M, {
1087
1087
  presets: ke,
1088
1088
  value: a,
1089
- onChange: s
1089
+ onChange: c
1090
1090
  })]
1091
1091
  }), /* @__PURE__ */ h("div", {
1092
1092
  ref: u,
@@ -1103,7 +1103,7 @@ function je({ deviceId: n }) {
1103
1103
  viewBox: `0 0 ${d} ${K}`,
1104
1104
  preserveAspectRatio: "none",
1105
1105
  className: "block",
1106
- onMouseLeave: () => p.bindHover(null),
1106
+ onMouseLeave: () => f.bindHover(null),
1107
1107
  children: [
1108
1108
  D.map(({ y: e, label: t }, n) => /* @__PURE__ */ h("g", { children: [/* @__PURE__ */ m("line", {
1109
1109
  x1: q.left,
@@ -1144,7 +1144,7 @@ function je({ deviceId: n }) {
1144
1144
  height: i,
1145
1145
  fill: "transparent",
1146
1146
  onMouseEnter: () => {
1147
- p.bindHover({
1147
+ f.bindHover({
1148
1148
  anchorX: v(n + r / 2),
1149
1149
  anchorY: o,
1150
1150
  title: `${Fe(e.bucketStart, s)} · ${e.count} event${e.count === 1 ? "" : "s"}`,
@@ -1161,7 +1161,7 @@ function je({ deviceId: n }) {
1161
1161
  })
1162
1162
  ]
1163
1163
  }), /* @__PURE__ */ m(I, {
1164
- state: p.state,
1164
+ state: f.state,
1165
1165
  containerWidth: d
1166
1166
  })] }), O > 0 && /* @__PURE__ */ h("div", {
1167
1167
  className: "flex items-center justify-between text-[10px] text-foreground-subtle mt-1",
@@ -1265,25 +1265,25 @@ var J = {
1265
1265
  left: 32
1266
1266
  };
1267
1267
  function Be({ deviceId: n }) {
1268
- let a = c(f().trpcClient, n), [s, l] = r("1h"), [u, d] = r(X), p = J[s], [_, v] = ee(), y = F(), b = e(null), x = o({
1268
+ let a = s(p().trpcClient, n), [c, l] = r("1h"), [u, d] = r(X), f = J[c], [_, v] = ee(), y = F(), b = e(null), x = o({
1269
1269
  queryKey: [
1270
1270
  "pipeline-analytics",
1271
1271
  n,
1272
1272
  "objectEvents",
1273
- s
1273
+ c
1274
1274
  ],
1275
1275
  queryFn: async () => {
1276
1276
  if (!a) return [];
1277
- let e = Date.now() - p.windowMs;
1277
+ let e = Date.now() - f.windowMs;
1278
1278
  return await a.pipelineAnalytics?.getObjectEvents({
1279
1279
  since: e,
1280
1280
  limit: Re
1281
1281
  }) ?? [];
1282
1282
  },
1283
1283
  enabled: !!a,
1284
- refetchInterval: p.pollIntervalMs,
1285
- staleTime: Math.max(1e3, p.pollIntervalMs / 2)
1286
- }), S = x.data ?? [], C = t(() => u === X ? S : S.filter((e) => e.className === u), [S, u]), w = x.dataUpdatedAt > 0 ? x.dataUpdatedAt : Date.now(), T = w - p.windowMs, E = t(() => {
1284
+ refetchInterval: f.pollIntervalMs,
1285
+ staleTime: Math.max(1e3, f.pollIntervalMs / 2)
1286
+ }), S = x.data ?? [], C = t(() => u === X ? S : S.filter((e) => e.className === u), [S, u]), w = x.dataUpdatedAt > 0 ? x.dataUpdatedAt : Date.now(), T = w - f.windowMs, E = t(() => {
1287
1287
  let e = /* @__PURE__ */ new Set();
1288
1288
  for (let t of S) e.add(t.className);
1289
1289
  return u !== X && e.add(u), [...e].toSorted();
@@ -1295,11 +1295,11 @@ function Be({ deviceId: n }) {
1295
1295
  S,
1296
1296
  E
1297
1297
  ]);
1298
- let O = t(() => Ve(C, ze), [C]), k = t(() => He(C, T, w, p.bucketMs, O), [
1298
+ let O = t(() => Ve(C, ze), [C]), k = t(() => He(C, T, w, f.bucketMs, O), [
1299
1299
  C,
1300
1300
  T,
1301
1301
  w,
1302
- p.bucketMs,
1302
+ f.bucketMs,
1303
1303
  O
1304
1304
  ]), A = t(() => {
1305
1305
  if (k.length === 0) return 1;
@@ -1344,7 +1344,7 @@ function Be({ deviceId: n }) {
1344
1344
  }, e))]
1345
1345
  }), /* @__PURE__ */ m(M, {
1346
1346
  presets: Le,
1347
- value: s,
1347
+ value: c,
1348
1348
  onChange: l
1349
1349
  })]
1350
1350
  })]
@@ -1390,7 +1390,7 @@ function Be({ deviceId: n }) {
1390
1390
  }, `x-${n}`)),
1391
1391
  k.map((e, t) => {
1392
1392
  if (e.total === 0) return null;
1393
- let { x: n, w: r } = Ue(e.bucketStart, p.bucketMs, T, w, v), i = Z - Q.top - Q.bottom, a = e.total / A * i, o = Q.top + (i - a), s = 0, c = N.map((t, a) => {
1393
+ let { x: n, w: r } = Ue(e.bucketStart, f.bucketMs, T, w, v), i = Z - Q.top - Q.bottom, a = e.total / A * i, o = Q.top + (i - a), s = 0, c = N.map((t, a) => {
1394
1394
  let o = e.byClass[t] ?? 0;
1395
1395
  if (o === 0) return null;
1396
1396
  let c = o / A * i, l = Q.top + (i - s - c);
@@ -1404,7 +1404,7 @@ function Be({ deviceId: n }) {
1404
1404
  fill: u,
1405
1405
  opacity: .9
1406
1406
  }, `${e.bucketStart}-${t}`);
1407
- }).filter((e) => e !== null), l = e.bucketStart + p.bucketMs;
1407
+ }).filter((e) => e !== null), l = e.bucketStart + f.bucketMs;
1408
1408
  return /* @__PURE__ */ h("g", { children: [c, /* @__PURE__ */ m("rect", {
1409
1409
  x: n,
1410
1410
  y: Q.top,
@@ -1415,7 +1415,7 @@ function Be({ deviceId: n }) {
1415
1415
  y.bindHover({
1416
1416
  anchorX: P(n + r / 2),
1417
1417
  anchorY: o,
1418
- title: `${Ge(e.bucketStart, l, p.bucketMs)} · ${e.total} detection${e.total === 1 ? "" : "s"}`,
1418
+ title: `${Ge(e.bucketStart, l, f.bucketMs)} · ${e.total} detection${e.total === 1 ? "" : "s"}`,
1419
1419
  rows: N.map((t, n) => {
1420
1420
  let r = e.byClass[t] ?? 0;
1421
1421
  return r === 0 ? null : {
@@ -1443,7 +1443,7 @@ function Be({ deviceId: n }) {
1443
1443
  C.length === 1 ? "" : "s",
1444
1444
  " ·",
1445
1445
  " ",
1446
- Ke(p.bucketMs),
1446
+ Ke(f.bucketMs),
1447
1447
  " buckets"
1448
1448
  ] }), /* @__PURE__ */ h("span", { children: [
1449
1449
  "peak ",
@@ -1523,7 +1523,7 @@ function qe({ stackOrder: e }) {
1523
1523
  //#endregion
1524
1524
  //#region src/pipeline-analytics/widgets/OccupancyPanel.tsx
1525
1525
  function Je({ dev: e, deviceId: t, title: n = "Live Occupancy", variant: r = "full" }) {
1526
- let i = c(f().trpcClient, e === void 0 && t !== void 0 ? t : null), a = e ?? i, o = u(a?.state.zoneAnalytics);
1526
+ let i = s(p().trpcClient, e === void 0 && t !== void 0 ? t : null), a = e ?? i, o = f(a?.state.zoneAnalytics);
1527
1527
  return o ? /* @__PURE__ */ m(Ye, {
1528
1528
  title: n,
1529
1529
  variant: r,
@@ -1666,37 +1666,37 @@ function tt({ byClass: e }) {
1666
1666
  //#region src/pipeline-analytics/widgets/LiveStatsTab.tsx
1667
1667
  function nt({ deviceId: e }) {
1668
1668
  return /* @__PURE__ */ h("div", {
1669
- className: l,
1669
+ className: d,
1670
1670
  children: [
1671
1671
  /* @__PURE__ */ h("div", {
1672
- className: `grid ${p}`,
1672
+ className: `grid ${l}`,
1673
1673
  style: { gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 340px), 1fr))" },
1674
- children: [/* @__PURE__ */ m(d, {
1674
+ children: [/* @__PURE__ */ m(c, {
1675
1675
  widgetId: "pipeline-analytics/live-occupancy-panel",
1676
1676
  host: "device-tab",
1677
1677
  deviceId: e
1678
- }), /* @__PURE__ */ m(d, {
1678
+ }), /* @__PURE__ */ m(c, {
1679
1679
  widgetId: "pipeline-analytics/audio-metrics-panel",
1680
1680
  host: "device-tab",
1681
1681
  deviceId: e
1682
1682
  })]
1683
1683
  }),
1684
- /* @__PURE__ */ m(d, {
1684
+ /* @__PURE__ */ m(c, {
1685
1685
  widgetId: "pipeline-analytics/audio-history-chart",
1686
1686
  host: "device-tab",
1687
1687
  deviceId: e
1688
1688
  }),
1689
- /* @__PURE__ */ m(d, {
1689
+ /* @__PURE__ */ m(c, {
1690
1690
  widgetId: "pipeline-analytics/occupancy-history-chart",
1691
1691
  host: "device-tab",
1692
1692
  deviceId: e
1693
1693
  }),
1694
- /* @__PURE__ */ m(d, {
1694
+ /* @__PURE__ */ m(c, {
1695
1695
  widgetId: "pipeline-analytics/motion-history-chart",
1696
1696
  host: "device-tab",
1697
1697
  deviceId: e
1698
1698
  }),
1699
- /* @__PURE__ */ m(d, {
1699
+ /* @__PURE__ */ m(c, {
1700
1700
  widgetId: "pipeline-analytics/detection-history-chart",
1701
1701
  host: "device-tab",
1702
1702
  deviceId: e
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.1.13",
6
+ version: "1.1.14",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_pipeline_analytics_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.1.16",
21
+ version: "1.1.22",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.1.15",
36
+ version: "1.1.19",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_analytics_widgets",
@@ -0,0 +1,26 @@
1
+ //#region \0virtual:mf:__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js
2
+ var e = "__mf_init__virtual:mf:__mfe_internal__addon_pipeline_analytics_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
3
+ if (!t) {
4
+ let n, r, i = new Promise((e, t) => {
5
+ n = e, r = t;
6
+ });
7
+ t = globalThis[e] = {
8
+ initPromise: i,
9
+ initResolve: n,
10
+ initReject: r
11
+ };
12
+ }
13
+ var n = t.initPromise, r = "__mf_module_cache__";
14
+ globalThis[r] ||= {
15
+ share: {},
16
+ remote: {}
17
+ }, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
18
+ var i = globalThis[r], a, o, s, c, l, u, d, f = (e) => {
19
+ e.AddonGlobalSettingsForm, e.AgentStepEditor, e.AlarmHeroCard, e.AlarmPanelInlineControl, e.AppShell, e.ArcKnob, e.AudioClassificationList, e.AudioLevelWaveform, e.AudioWaveform, e.AutotrackSection, e.BTN_COMPACT, e.BTN_COMPACT_DANGER, e.BTN_COMPACT_PRIMARY, e.BTN_COMPACT_WARNING, e.Badge, e.BatteryBadge, e.BottomSheet, e.Breadcrumb, e.BrightnessPanel, e.Button, e.ButtonControl, e.ButtonHeroCard, e.CENTER, e.CHIP_ACTIVE, e.CHIP_BASE, e.CHIP_INACTIVE, e.CLASS_COLORS, e.COLUMN_BREAKPOINT_CLASS, e.COLUMN_PRIORITY, e.COMMIT_DEDUPE_TOLERANCE_MS, e.COMMIT_DEDUPE_WINDOW_MS, e.CONTROL_CAP_NAMES, e.CONTROL_FILLS, e.CameraStreamPlayer, e.Card, e.Checkbox, e.ChildSectionAccordion, e.ClimatePanel, e.CodeBlock, e.CollapsibleCard, e.ConfigFormBuilder, e.ConfigFormField, e.ConfigSchemaField, e.ConfirmActionButton, e.ConfirmDialogProvider, e.ConsumablesPanel, e.ContainerChildrenProvider, e.ContainerPrimaryHero, e.ControlColumn, e.ControlHeroCard, e.ControlInlineControl, e.ControlPanel, e.CopyButton, e.CoverHeroCard, e.CoverInlineControl, e.CoverPanel, e.CustomFieldRenderersProvider, e.DEFAULT_COLOR, e.DEVICE_COLUMNS, e.DEVICE_LIST_PAGE_SIZE_KEY, e.DEVICE_LIST_PAGE_SIZE_OPTIONS, e.DEVICE_ROLE_META, e.DEVICE_TYPE_CONTROL, e.DEVICE_TYPE_META, e.DISPLAY_ICON_REGISTRY, e.DataTable, e.DetectionCanvas, e.DetectionOverlay, e.DetectionResultTree, e.DevShell, e.DeviceActivityPanel, e.DeviceBatchToolbar, e.DeviceCard, e.DeviceContextProvider, e.DeviceExportPanel, e.DeviceGrid, e.DeviceItem, e.DeviceList, e.Dialog, e.DialogContent, e.DialogDescription, e.DialogFooter, e.DialogHeader, e.DialogTitle, e.DialogTrigger, e.DiscoveryPanel, e.DoorbellRecentPanel, e.Dropdown, e.DropdownContent, e.DropdownItem, e.DropdownTrigger, e.DummyHeroCard, e.DummyInline, e.EmptyState, e.ErrorBox, e.EventStream, e.EyeOff, e.FILL, e.FanHeroCard, e.FanInlineControl, e.FanPanel, e.FilterBar, e.FloatingEventStream, e.FloatingLogStream, e.FloatingPanel, e.FormField, a = e.GRID_GAP, e.GRID_PAIRED, e.GRID_QUICK_STATS, e.GripTrack, e.HOST_WIDGETS, e.HlsVideo, e.HoverZoomImage, e.HumidifierHeroCard, e.HumidifierInlineControl, e.INPUT_COMPACT, e.IconAction, e.IconButton, e.ImageHeroCard, e.ImageInlineControl, e.ImageSelector, e.InferenceConfigSelector, e.Input, e.KebabMenu, e.KeyValueList, e.LIST_ROW, e.Label, e.LawnMowerHeroCard, e.LawnMowerInlineControl, e.LightHeroCard, e.LightInlineControl, e.LockHeroCard, e.LockInlineControl, e.LockPanel, e.LogStream, e.LoginForm, e.MODE_COLOR, e.MaskShapeCanvas, e.MediaPlayerHeroCard, e.MediaPlayerInlineControl, e.MediaPlayerPanel, e.MobileDrawer, e.MotionZonesSettings, e.NodeMultiSelectField, e.NodePicker, e.NodeSelectField, e.OfflineBadge, e.PHASE_CONFIG, e.PRIORITY, e.PTZOverlay, e.PageHeader, e.PhaseIcon, e.PipelineBuilder, e.PipelineRuntimeSelector, e.PipelineStep, e.PipelineTreeMatrix, e.PlayerOverlaysProvider, e.Popover, e.PopoverContent, e.PopoverRowAction, e.PopoverTrigger, e.PrimaryChildPicker, e.PrivacyMaskSettings, e.ProviderBadge, e.PtzPanel, e.QrCode, e.RECORDED_PLAYBACK_MODES, e.RIGHT, e.ROLE_DESCRIPTOR, e.RadialGauge, e.RecordedPlaybackProvider, e.RecordingPanel, e.ResponseLog, e.SECTION_BODY, e.SECTION_CARD, e.SECTION_HEADER, e.SPLIT_PANEL_OUTER, e.SPLIT_PANEL_SIDE, o = e.STACK_GAP, e.STATE_COLOR, e.ScopePicker, e.ScrollArea, e.Select, e.SemanticBadge, e.SensorHeroCard, e.SensorInlineControl, e.SensorValueAtom, e.Separator, e.Sidebar, e.SidebarItem, e.Skeleton, e.SlideOverPanel, e.SlideToggle, e.SnapshotButton, e.Square, e.StatCard, e.StateValuesStream, e.StatusBadge, e.StepTimings, e.StepTreeMaster, e.Stepper, e.StreamBrokerSelector, e.StreamPanel, e.Switch, e.SwitchHeroCard, e.SwitchInlineControl, e.SwitchPanel, e.SystemProvider, e.TEXT_FIELD_LABEL, e.TEXT_HINT, e.TEXT_METRIC, e.TEXT_SECTION_LABEL, e.TEXT_VALUE, e.TIMEZONES, e.Tabs, e.TabsContent, e.TabsList, e.TabsTrigger, e.TapToggle, e.ThemeProvider, e.ThermostatHeroCard, e.ThermostatInlineControl, e.TimezoneSelector, e.Tooltip, e.TooltipContent, e.TooltipTrigger, e.Trash2, e.VacuumHeroCard, e.VacuumInlineControl, e.ValueReadout, e.ValveHeroCard, e.ValveInlineControl, e.VersionBadge, e.VodPlaybackProvider, e.WaterHeaterHeroCard, e.WaterHeaterInlineControl, e.WeatherHeroCard, e.WeatherInlineControl, e.WidgetMetricCard, e.WidgetPanel, e.WidgetRegistryProvider, s = e.WidgetSlot, e.ZoneEditingProvider, e.allDeviceTypeFilterOptions, e.buildStepTreeFromSchema, e.childEntityId, e.childListName, e.cn, e.columnsForContext, e.containerChildToRef, e.countableDevices, e.coverHighlight, e.createLucideIcon, e.createSharedContext, e.createTheme, e.cursorFractionFor, e.darkColors, e.defaultTheme, e.deriveDeviceKind, e.deviceRoleMeta, e.deviceRoleMetaOf, e.deviceTypeMeta, e.deviceTypeMetaOf, e.ensureMfHostInit, e.findTimezone, e.formatControlDateTime, e.formatLastSeen, e.formatNumeric, e.fuzzyMatch, e.getClassColor, e.getPhaseVisual, e.groupChildrenByLayout, e.hardwareLabel, e.humidifierTint, e.initialScrubState, e.isAbsentProvider, e.isAbsentProvider$1, e.isFieldVisible, e.lawnMowerActivityMeta, e.lightColors, e.loadRemoteBundle, e.makeScrubBridge, e.metadataEntries, e.metadataString, e.mirror, e.mountAddonPage, e.nextSort, e.normalizeForSearch, e.overrideEntityIdFromLink, e.parseRecordedServerMessage, e.providerIcons, e.resolveContainerPrimary, e.resolveControlAlign, e.resolveDeviceControl, e.resolveDisplayIcon, e.resolvePrimaryChild, e.resolveSensorDisplay, e.scrubReducer, e.serializeRecordedCommand, e.shouldCommit, e.shouldEmit, e.sortRows, e.statusIcons, e.stripParentNamePrefix, e.tankAlert, e.themeToCss, e.trpc, e.useAccessoriesGetStatus, e.useAccessoriesSetChildHidden, e.useAddonPagesListPages, e.useAddonSettingsGetDeviceSettings, e.useAddonSettingsGetGlobalSettings, e.useAddonSettingsUpdateDeviceSettings, e.useAddonSettingsUpdateGlobalSettings, e.useAddonWidgetsListWidgets, e.useAddonsApplyAutoUpdateToAll, e.useAddonsCancelJob, e.useAddonsCustom, e.useAddonsForceRefresh, e.useAddonsGetAddonAutoUpdate, e.useAddonsGetAutoUpdateSettings, e.useAddonsGetJob, e.useAddonsGetLastRestart, e.useAddonsGetLogs, e.useAddonsGetVersions, e.useAddonsInstallFromWorkspace, e.useAddonsInstallPackage, e.useAddonsIsWorkspaceAvailable, e.useAddonsList, e.useAddonsListCapabilityProviders, e.useAddonsListFrameworkPackages, e.useAddonsListJobs, e.useAddonsListPackages, e.useAddonsListUpdates, e.useAddonsListWorkspacePackages, e.useAddonsOnAddonLogs, e.useAddonsReloadPackages, e.useAddonsRestartAddon, e.useAddonsRestartServer, e.useAddonsRetryLoad, e.useAddonsRollbackPackage, e.useAddonsSearchAvailable, e.useAddonsSetAddonAutoUpdate, e.useAddonsSetAutoUpdateSettings, e.useAddonsSetCapabilityProviderEnabled, e.useAddonsStartJob, e.useAddonsUninstallPackage, e.useAddonsUpdateFrameworkPackage, e.useAddonsUpdatePackage, e.useAirQualitySensorGetStatus, e.useAlarmPanelArm, e.useAlarmPanelDisarm, e.useAlarmPanelGetStatus, e.useAlarmPanelTrigger, e.useAlertsDismiss, e.useAlertsEmit, e.useAlertsGetUnreadCount, e.useAlertsList, e.useAlertsMarkAllRead, e.useAlertsMarkRead, e.useAlertsUpdate, e.useAllWidgets, e.useAmbientLightSensorGetStatus, e.useAudioAnalysisApplyDeviceSettingsPatch, e.useAudioAnalysisGetDeviceLiveContribution, e.useAudioAnalysisGetDeviceSettingsContribution, e.useAudioAnalysisResolveDeviceSettings, e.useAudioAnalyzerAnalyseChunk, e.useAudioAnalyzerClassify, e.useAudioAnalyzerDispose, e.useAudioAnalyzerIsReady, e.useAudioAnalyzerReprobeAudioEngine, e.useAudioCodecCanHandle, e.useAudioCodecCloseSession, e.useAudioCodecCreateDecodeSession, e.useAudioCodecCreateEncodeSession, e.useAudioCodecFlushEncode, e.useAudioCodecListActiveSessions, e.useAudioCodecListSupportedCodecs, e.useAudioCodecPullEncoded, e.useAudioCodecPullPcm, e.useAudioCodecPushEncodedFrame, e.useAudioCodecPushPcm, e.useAudioMetricsGetCurrentSnapshot, e.useAudioMetricsGetHistory, e.useAutomationControlDisable, e.useAutomationControlEnable, e.useAutomationControlGetStatus, e.useAutomationControlTrigger, e.useBackupDelete, e.useBackupGetEntries, e.useBackupList, e.useBackupListArchives, e.useBackupListDestinations, e.useBackupListLocations, e.useBackupPreviewSchedule, e.useBackupRestore, e.useBackupTrigger, e.useBackupUpsertDestinationPolicy, e.useBatteryGetStatus, e.useBatteryWakeForStream, e.useBinaryGetStatus, e.useBrightnessGetStatus, e.useBrightnessSetBrightness, e.useBrokerAdd, e.useBrokerGet, e.useBrokerGetBrokerConfig, e.useBrokerGetSettings, e.useBrokerGetSettingsSchema, e.useBrokerGetState, e.useBrokerGetStatus, e.useBrokerList, e.useBrokerListProviders, e.useBrokerPublish, e.useBrokerRemove, e.useBrokerSetSettings, e.useBrokerSubscribe, e.useBrokerTestConnection, e.useBrokerTestSettings, e.useBrokerUnsubscribe, e.useButtonPress, e.useCameraCredentialsGetCredentials, e.useCameraCredentialsGetStatus, e.useCameraPipelineConfigApplyDeviceSettingsPatch, e.useCameraPipelineConfigGetDeviceLiveContribution, e.useCameraPipelineConfigGetDeviceSettingsContribution, e.useCameraStreamsGetBrokerStreams, e.useCameraStreamsGetCameraStreams, e.useCameraStreamsGetProfileRtspEntries, e.useCameraStreamsGetRtspEntries, e.useCameraStreamsPickStream, e.useCarbonMonoxideGetStatus, e.useClimateControlGetStatus, e.useClimateControlSetFanMode, e.useClimateControlSetMode, e.useClimateControlSetPreset, e.useClimateControlSetSwingHorizontal, e.useClimateControlSetSwingVertical, e.useClimateControlSetTarget, e.useClimateControlSetTargetHumidity, e.useClimateControlSetTargetRange, e.useClusterNodes, e.useColorGetStatus, e.useColorSetColor, e.useConfirm, e.useConnectivityGetStatus, e.useConsumablesGetStatus, e.useConsumablesReset, e.useContactGetStatus, e.useContainerChildren, e.useControlGetStatus, e.useControlSetValue, e.useCoverClose, e.useCoverGetStatus, e.useCoverOpen, e.useCoverSetPosition, e.useCoverSetTiltPosition, e.useCoverStop, e.useCustomFieldRenderer, e.useDebouncedString, e.useDecoderCreateSession, e.useDecoderDestroySession, e.useDecoderGetFrame, e.useDecoderGetInfo, e.useDecoderGetShmStats, e.useDecoderGetStats, e.useDecoderListActiveSessions, e.useDecoderOpenStream, e.useDecoderPullFrames, e.useDecoderPullHandles, e.useDecoderPushPacket, e.useDecoderReprobeHwaccel, e.useDecoderSupportsCodec, e.useDecoderUpdateConfig, e.useDetectionPipelineApplyDeviceSettingsPatch, e.useDetectionPipelineGetDeviceLiveContribution, e.useDetectionPipelineGetDeviceSettingsContribution, e.useDevShell, e.useDevice, e.useDeviceAdoptionAdopt, e.useDeviceAdoptionGetCandidate, e.useDeviceAdoptionGetStatus, e.useDeviceAdoptionListCandidateFilters, e.useDeviceAdoptionListCandidates, e.useDeviceAdoptionRefresh, e.useDeviceAdoptionRelease, e.useDeviceAdoptionResync, e.useDeviceAutotrack, e.useDeviceBattery, e.useDeviceCapSlice, e.useDeviceCapability, e.useDeviceDetections, e.useDeviceDiscoveryAdoptDevice, e.useDeviceDiscoveryGetStatus, e.useDeviceDiscoveryListDiscovered, e.useDeviceDiscoveryRefreshDiscovery, e.useDeviceDiscoveryReleaseDevice, e.useDeviceExportApplyDeviceSettingsPatch, e.useDeviceExportExposeDevice, e.useDeviceExportGetDeviceLiveContribution, e.useDeviceExportGetDeviceSettingsContribution, e.useDeviceExportGetStatus, e.useDeviceExportListExposedDevices, e.useDeviceExportListSupportedDeviceKinds, e.useDeviceExportUnexposeDevice, e.useDeviceId, e.useDeviceListPageSize, e.useDeviceManagerAddLocation, e.useDeviceManagerAdoptDevice, e.useDeviceManagerAdoptionAdopt, e.useDeviceManagerAdoptionListCandidateFilters, e.useDeviceManagerAdoptionListCandidates, e.useDeviceManagerAdoptionRefresh, e.useDeviceManagerAdoptionRelease, e.useDeviceManagerAdoptionResync, e.useDeviceManagerAllocateDeviceId, e.useDeviceManagerApplyInitialMeta, e.useDeviceManagerCreateDevice, e.useDeviceManagerDisable, e.useDeviceManagerDiscoverAllProviders, e.useDeviceManagerDiscoverDevices, e.useDeviceManagerDiscoverProvider, e.useDeviceManagerDiscoveryProviders, e.useDeviceManagerEnable, e.useDeviceManagerGetAllBindings, e.useDeviceManagerGetBindings, e.useDeviceManagerGetChildren, e.useDeviceManagerGetConfigSchema, e.useDeviceManagerGetCreationSchema, e.useDeviceManagerGetDevice, e.useDeviceManagerGetDeviceAggregate, e.useDeviceManagerGetDeviceLiveInfoAggregate, e.useDeviceManagerGetDeviceSettingsAggregate, e.useDeviceManagerGetDeviceStatusAggregate, e.useDeviceManagerGetRoleDisplayDefaults, e.useDeviceManagerGetSettingsSchema, e.useDeviceManagerGetStreamProfileMap, e.useDeviceManagerGetStreamSources, e.useDeviceManagerGetWireableFields, e.useDeviceManagerListAll, e.useDeviceManagerListBindableCapsForDeviceType, e.useDeviceManagerListLocations, e.useDeviceManagerListPersistedByAddon, e.useDeviceManagerListWrappersForCap, e.useDeviceManagerLoadConfig, e.useDeviceManagerLoadMeta, e.useDeviceManagerLoadRuntimeState, e.useDeviceManagerPersistConfig, e.useDeviceManagerProbeStreams, e.useDeviceManagerProviderCreationType, e.useDeviceManagerProviderDiscoveryParamsSchema, e.useDeviceManagerRegisterDevice, e.useDeviceManagerRemove, e.useDeviceManagerRemoveByIntegration, e.useDeviceManagerRemoveDevice, e.useDeviceManagerRemoveLocation, e.useDeviceManagerRunDeviceAction, e.useDeviceManagerSetChildLayout, e.useDeviceManagerSetDeviceLinks, e.useDeviceManagerSetDisabled, e.useDeviceManagerSetDisplay, e.useDeviceManagerSetIntegrationId, e.useDeviceManagerSetLinkDeviceId, e.useDeviceManagerSetLocation, e.useDeviceManagerSetMetadata, e.useDeviceManagerSetName, e.useDeviceManagerSetPrimaryChildEntityId, e.useDeviceManagerSetRole, e.useDeviceManagerSetRoleDisplayDefaults, e.useDeviceManagerSetStreamProfileMap, e.useDeviceManagerSetType, e.useDeviceManagerSetWrapperActive, e.useDeviceManagerTestCreationField, e.useDeviceManagerTestField, e.useDeviceManagerUpdateConfig, e.useDeviceManagerUpdateDeviceField, e.useDeviceManagerUpdateDeviceFieldsBatch, e.useDeviceOpsGetConfigEntries, e.useDeviceOpsGetRawState, e.useDeviceOpsGetSettingsSchema, e.useDeviceOpsGetStreamSources, e.useDeviceOpsRemoveDevice, e.useDeviceOpsRunAction, e.useDeviceOpsSetConfig, e.useDeviceProviderAdoptDiscoveredDevice, e.useDeviceProviderCreateDevice, e.useDeviceProviderDiscoverDevices, e.useDeviceProviderGetChildCreationSchema, e.useDeviceProviderGetDevices, e.useDeviceProviderGetDiscoveryParamsSchema, e.useDeviceProviderGetManualCreationType, e.useDeviceProviderGetStatus, e.useDeviceProviderStart, e.useDeviceProviderStop, e.useDeviceProviderSupportsDiscovery, e.useDeviceProviderSupportsManualCreation, e.useDeviceProviderTestCreationField, c = e.useDeviceProxy, e.useDeviceProxy$1, e.useDeviceSnapshot, e.useDeviceSnapshotImage, l = e.useDeviceState, e.useDeviceStateGetAllSnapshots, e.useDeviceStateGetCapSlice, e.useDeviceStateGetSnapshot, e.useDeviceStateSetCapSlice, u = e.useDeviceStateSlice, e.useDeviceStatusGetStatus, e.useDeviceWebrtc, e.useDevices, e.useDoorbellEvents, e.useDoorbellGetStatus, e.useEnumSensorGetStatus, e.useEventEmitterGetStatus, e.useEventInvalidation, e.useEventStreamLatest, e.useEventStreamMap, e.useEventsGetEventClipUrl, e.useEventsGetEventThumbnail, e.useEventsGetEvents, e.useFaceGalleryAssignFace, e.useFaceGalleryAssignFaces, e.useFaceGalleryCreateIdentity, e.useFaceGalleryDeleteFace, e.useFaceGalleryDeleteIdentity, e.useFaceGalleryGetFaceByTrack, e.useFaceGalleryGetFaceMedia, e.useFaceGalleryListIdentities, e.useFaceGalleryListIdentitySamples, e.useFaceGalleryListRecentFaces, e.useFaceGalleryRemoveSample, e.useFaceGalleryRenameIdentity, e.useFaceGallerySuggestFaceClusters, e.useFaceGalleryUnassignFace, e.useFaceGalleryUnassignFaces, e.useFanControlGetStatus, e.useFanControlSetDirection, e.useFanControlSetOscillating, e.useFanControlSetPercentage, e.useFanControlSetPreset, e.useFeatureProbeGetStatus, e.useFloodGetStatus, e.useGasGetStatus, e.useHumidifierGetStatus, e.useHumidifierSetMode, e.useHumidifierSetOn, e.useHumidifierSetTargetHumidity, e.useHumiditySensorGetStatus, e.useImageGetStatus, e.useIntegrationsCreate, e.useIntegrationsDelete, e.useIntegrationsGet, e.useIntegrationsGetAvailableTypes, e.useIntegrationsGetByAddonId, e.useIntegrationsGetSettings, e.useIntegrationsList, e.useIntegrationsSetSettings, e.useIntegrationsTestConnection, e.useIntegrationsUpdate, e.useIntercomEndTalkSession, e.useIntercomGetStatus, e.useIntercomHandleAnswer, e.useIntercomPushTalkAudio, e.useIntercomStartSession, e.useIntercomStartTalkSession, e.useIntercomStopSession, e.useIsMidWidth, e.useIsMobile, e.useLawnMowerControlDock, e.useLawnMowerControlGetStatus, e.useLawnMowerControlPause, e.useLawnMowerControlStartMowing, e.useLiveBuffer, e.useLiveEvent, e.useLocalNetworkGetAllowedAddresses, e.useLocalNetworkGetConnectionEndpoints, e.useLocalNetworkGetPreferred, e.useLocalNetworkList, e.useLocalNetworkResetAllowlistToBestMatch, e.useLocalNetworkSetAllowedAddresses, e.useLockControlGetStatus, e.useLockControlLock, e.useLockControlOpen, e.useLockControlUnlock, e.useMediaPlayerGetStatus, e.useMediaPlayerNext, e.useMediaPlayerPause, e.useMediaPlayerPlay, e.useMediaPlayerPlayMedia, e.useMediaPlayerPrevious, e.useMediaPlayerSeek, e.useMediaPlayerSelectSource, e.useMediaPlayerSetMute, e.useMediaPlayerSetRepeat, e.useMediaPlayerSetShuffle, e.useMediaPlayerSetVolume, e.useMediaPlayerStop, e.useMeshNetworkGetStatus, e.useMeshNetworkJoin, e.useMeshNetworkLeave, e.useMeshNetworkListPeers, e.useMeshNetworkLogout, e.useMeshNetworkStartLogin, e.useMeshNetworkTestConnection, e.useMetricsProviderCollectSnapshot, e.useMetricsProviderDumpHeapSnapshot, e.useMetricsProviderGetAddonStats, e.useMetricsProviderGetCached, e.useMetricsProviderGetCpuTemperature, e.useMetricsProviderGetCurrent, e.useMetricsProviderGetDiskSpace, e.useMetricsProviderGetGpuInfo, e.useMetricsProviderGetProcessStats, e.useMetricsProviderKillProcess, e.useMetricsProviderListAddonInstances, e.useMetricsProviderListNodeProcesses, e.useMotionDetectionAnalyze, e.useMotionDetectionApplyDeviceSettingsPatch, e.useMotionDetectionGetDeviceLiveContribution, e.useMotionDetectionGetDeviceSettingsContribution, e.useMotionDetectionRemoveCamera, e.useMotionDetectionReset, e.useMotionGetStatus, e.useMotionIsDetected, e.useMotionTriggerGetStatus, e.useMotionTriggerSetMotionTrigger, e.useMotionZonesGetOptions, e.useMotionZonesGetStatus, e.useMotionZonesSetZone, e.useMqttBrokerAddBroker, e.useMqttBrokerGetBrokerConfig, e.useMqttBrokerGetStatus, e.useMqttBrokerListBrokers, e.useMqttBrokerRemoveBroker, e.useMqttBrokerStartEmbeddedBroker, e.useMqttBrokerStopEmbeddedBroker, e.useMqttBrokerTestConnection, e.useNativeObjectDetectionGetStatus, e.useNativeObjectDetectionSetEnabled, e.useNetworkAccessGetEndpoint, e.useNetworkAccessGetStatus, e.useNetworkAccessListEndpoints, e.useNetworkAccessStart, e.useNetworkAccessStop, e.useNetworkQualityGetAllStats, e.useNetworkQualityGetDeviceStats, e.useNetworkQualityReportClientStats, e.useNodesClusterAddonStatus, e.useNodesDeployAddon, e.useNodesExecuteQuery, e.useNodesGetCapUsageGraph, e.useNodesGetNodeAddons, e.useNodesRenameNode, e.useNodesRestartAddon, e.useNodesRestartNode, e.useNodesRestartProcess, e.useNodesSetProcessLogLevel, e.useNodesShutdownNode, e.useNodesTopology, e.useNodesUndeployAddon, e.useNotificationOutputDeleteTarget, e.useNotificationOutputDiscoverTargets, e.useNotificationOutputListTargetKinds, e.useNotificationOutputListTargets, e.useNotificationOutputSend, e.useNotificationOutputSetTargetEnabled, e.useNotificationOutputTestTarget, e.useNotificationOutputUpsertTarget, e.useNotifierCancel, e.useNotifierGetStatus, e.useNotifierSend, e.useNumericSensorGetStatus, e.useOptimisticSlice, e.useOptionalSystem, e.useOptionalWidgetRegistry, e.useOsdGetStatus, e.useOsdSetOverlay, e.usePTZ, e.usePetFeederCallPet, e.usePetFeederCancelFeed, e.usePetFeederFeed, e.usePetFeederGetStatus, e.usePetFeederMarkFoodReplenished, e.usePetFeederPlaySound, e.usePetFeederResetDesiccant, e.usePetFeederSetChildLock, e.usePetFeederSetFeedSound, e.usePetFeederSetIndicatorLight, e.usePetFeederSetVolume, e.usePipelineAnalyticsApplyDeviceSettingsPatch, e.usePipelineAnalyticsClearTracks, e.usePipelineAnalyticsGetActiveTracks, e.usePipelineAnalyticsGetAudioEvents, e.usePipelineAnalyticsGetDeviceLiveContribution, e.usePipelineAnalyticsGetDeviceSettingsContribution, e.usePipelineAnalyticsGetEventDensity, e.usePipelineAnalyticsGetEventMedia, e.usePipelineAnalyticsGetMotionEvents, e.usePipelineAnalyticsGetObjectEvents, e.usePipelineAnalyticsGetTrack, e.usePipelineAnalyticsGetTrackMedia, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineExecutorCacheFrameInPool, e.usePipelineExecutorDeleteModel, e.usePipelineExecutorDeleteTemplate, e.usePipelineExecutorDetect, e.usePipelineExecutorDownloadModel, e.usePipelineExecutorGetAddonModels, e.usePipelineExecutorGetAudioCapabilities, e.usePipelineExecutorGetAvailableEngines, e.usePipelineExecutorGetCapabilities, e.usePipelineExecutorGetDefaultSteps, e.usePipelineExecutorGetDetectionConfigSchema, e.usePipelineExecutorGetEffectiveTuning, e.usePipelineExecutorGetEngineProvisioning, e.usePipelineExecutorGetGlobalPipelineConfig, e.usePipelineExecutorGetGlobalSteps, e.usePipelineExecutorGetOrchestratorConfigSchema, e.usePipelineExecutorGetReferenceAudio, e.usePipelineExecutorGetReferenceAudioFiles, e.usePipelineExecutorGetReferenceImage, e.usePipelineExecutorGetSchema, e.usePipelineExecutorGetSelectedEngine, e.usePipelineExecutorGetVideoPipelineSteps, e.usePipelineExecutorInferCached, e.usePipelineExecutorKillEngine, e.usePipelineExecutorListLoadedEngines, e.usePipelineExecutorListReferenceImages, e.usePipelineExecutorListTemplates, e.usePipelineExecutorReprobeEngine, e.usePipelineExecutorRunAudioTest, e.usePipelineExecutorRunPipeline, e.usePipelineExecutorRunPipelineBatch, e.usePipelineExecutorSaveTemplate, e.usePipelineExecutorSetVideoPipelineSteps, e.usePipelineExecutorSpinEngine, e.usePipelineExecutorUncacheFrame, e.usePipelineExecutorUpdateTemplate, e.usePipelineOrchestratorApplyDeviceSettingsPatch, e.usePipelineOrchestratorAssignAudio, e.usePipelineOrchestratorAssignDecoder, e.usePipelineOrchestratorAssignPipeline, e.usePipelineOrchestratorDeleteTemplate, e.usePipelineOrchestratorGetAgentLoad, e.usePipelineOrchestratorGetAgentSettings, e.usePipelineOrchestratorGetAudioAssignment, e.usePipelineOrchestratorGetAudioAssignments, e.usePipelineOrchestratorGetAudioNodeLoad, e.usePipelineOrchestratorGetCameraMetrics, e.usePipelineOrchestratorGetCameraSettings, e.usePipelineOrchestratorGetCameraStatus, e.usePipelineOrchestratorGetCameraStatuses, e.usePipelineOrchestratorGetCameraStepOverrides, e.usePipelineOrchestratorGetCapabilityBindings, e.usePipelineOrchestratorGetDecoderAssignment, e.usePipelineOrchestratorGetDecoderAssignments, e.usePipelineOrchestratorGetDeviceLiveContribution, e.usePipelineOrchestratorGetDeviceSettingsContribution, e.usePipelineOrchestratorGetGlobalMetrics, e.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListTemplates, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorSaveTemplate, e.usePipelineOrchestratorSetAgentAddonDefaults, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepToggle, e.usePipelineOrchestratorSetCapabilityBinding, e.usePipelineOrchestratorUnassignAudio, e.usePipelineOrchestratorUnassignDecoder, e.usePipelineOrchestratorUnassignPipeline, e.usePipelineOrchestratorUpdateTemplate, e.usePipelineRunnerAttachCamera, e.usePipelineRunnerDetachCamera, e.usePipelineRunnerGetAllCameraMetrics, e.usePipelineRunnerGetCameraMetrics, e.usePipelineRunnerGetLocalCameras, e.usePipelineRunnerGetLocalLoad, e.usePipelineRunnerGetLocalMetrics, e.usePipelineRunnerReportMotion, e.usePlateGalleryCorrectPlateText, e.usePlateGalleryDeletePlate, e.usePlateGalleryGetPlateByTrack, e.usePlateGalleryGetPlateMedia, e.usePlateGalleryListPlates, e.usePlateGallerySearchPlates, e.usePlateGallerySuggestPlateClusters, e.usePlayerOverlayLayer, e.usePlayerOverlayLayers, e.usePlayerToolbarButton, e.usePlayerToolbarButtons, e.usePowerMeterGetStatus, e.usePresenceGetStatus, e.usePressureSensorGetStatus, e.usePrivacyMaskGetOptions, e.usePrivacyMaskGetStatus, e.usePrivacyMaskSetMask, e.usePtzAutotrackGetSettings, e.usePtzAutotrackGetStatus, e.usePtzAutotrackSetEnabled, e.usePtzAutotrackSetSettings, e.usePtzContinuousMove, e.usePtzDeletePreset, e.usePtzGetOptions, e.usePtzGetPosition, e.usePtzGetPresets, e.usePtzGetStatus, e.usePtzGoHome, e.usePtzGoToPreset, e.usePtzMove, e.usePtzSavePreset, e.usePtzSetAutofocus, e.usePtzStop, e.useRebootReboot, e.useRecordedPlayback, e.useRecordingApplyDeviceSettingsPatch, e.useRecordingGetAvailability, e.useRecordingGetDaysWithRecordings, e.useRecordingGetDeviceConfig, e.useRecordingGetDeviceLiveContribution, e.useRecordingGetDeviceSettingsContribution, e.useRecordingGetPlaybackManifest, e.useRecordingGetStatus, e.useRecordingGetStorageUsage, e.useRecordingLocateSegment, e.useRecordingPruneFootage, e.useRecordingReadSegmentBytes, e.useRecordingRescanStorage, e.useRecordingSetDeviceConfig, e.useRemoteComponent, e.useScriptRunnerGetStatus, e.useScriptRunnerRun, e.useScriptRunnerStop, e.useScrubController, e.useSettingsStoreCount, e.useSettingsStoreDeclareCollection, e.useSettingsStoreDelete, e.useSettingsStoreGet, e.useSettingsStoreHistogram, e.useSettingsStoreInsert, e.useSettingsStoreIsEmpty, e.useSettingsStoreQuery, e.useSettingsStoreSet, e.useSettingsStoreUpdate, e.useSmokeGetStatus, e.useSnapshotApplyDeviceSettingsPatch, e.useSnapshotGetDeviceLiveContribution, e.useSnapshotGetDeviceSettingsContribution, e.useSnapshotGetSnapshot, e.useSnapshotGetStatus, e.useSnapshotInvalidateCache, e.useSnapshotProviderGetSnapshot, e.useSnapshotProviderSupportsDevice, e.useStorageAbortUpload, e.useStorageBeginDownload, e.useStorageBeginUpload, e.useStorageDelete, e.useStorageDeleteLocation, e.useStorageEndDownload, e.useStorageExists, e.useStorageFinalizeUpload, e.useStorageGetAvailableSpace, e.useStorageGetDefaultLocation, e.useStorageList, e.useStorageListLocationDeclarations, e.useStorageListLocations, e.useStorageListProviders, e.useStorageRead, e.useStorageReadChunk, e.useStorageResolve, e.useStorageTestConfig, e.useStorageTestLocation, e.useStorageUpsertLocation, e.useStorageWrite, e.useStorageWriteChunk, e.useStreamBrokerApplyDeviceSettingsPatch, e.useStreamBrokerAssignProfile, e.useStreamBrokerGetAllRtspEntries, e.useStreamBrokerGetBrokerStats, e.useStreamBrokerGetDeviceLiveContribution, e.useStreamBrokerGetDeviceSettingsContribution, e.useStreamBrokerGetPreBufferInfo, e.useStreamBrokerGetRtspEntry, e.useStreamBrokerGetRtspPort, e.useStreamBrokerGetStreamUrl, e.useStreamBrokerGetStreamWithCodec, e.useStreamBrokerIsRtspEnabled, e.useStreamBrokerKillClient, e.useStreamBrokerListAllCameraStreams, e.useStreamBrokerListAllProfileSlots, e.useStreamBrokerListClients, e.useStreamBrokerProbeStream, e.useStreamBrokerPublishCameraStream, e.useStreamBrokerPullAudioChunks, e.useStreamBrokerPullFrameHandles, e.useStreamBrokerRegenerateRtspToken, e.useStreamBrokerReleaseStreamWithCodec, e.useStreamBrokerRestartProfile, e.useStreamBrokerRetractCameraStream, e.useStreamBrokerSetPreBufferDuration, e.useStreamBrokerSetRtspEnabled, e.useStreamBrokerSubscribeAudioChunks, e.useStreamBrokerSubscribeFrames, e.useStreamBrokerUnassignProfile, e.useStreamBrokerUnsubscribeAudioChunks, e.useStreamBrokerUnsubscribeFrames, e.useStreamCatalogGetCatalog, e.useStreamParamsGetConfigSchema, e.useStreamParamsGetOptions, e.useStreamParamsGetStatus, e.useStreamParamsSetProfile, e.useSwitchGetStatus, e.useSwitchSetState, d = e.useSystem, e.useSystem$1, e.useSystemFeatureFlags, e.useSystemForceRetentionCleanup, e.useSystemGetRetentionConfig, e.useSystemHealth, e.useSystemInfo, e.useSystemMutation, e.useSystemNetworkAddresses, e.useSystemQuery, e.useSystemSetRetentionConfig, e.useTamperGetStatus, e.useTemperatureSensorGetStatus, e.useThemeMode, e.useToastOnToast, e.useTurnProviderGetTurnServers, e.useUpdateGetStatus, e.useUpdateInstallUpdate, e.useUserManagementConfirmTotp, e.useUserManagementCreateApiKey, e.useUserManagementCreateScopedToken, e.useUserManagementCreateUser, e.useUserManagementDeleteUser, e.useUserManagementDisableTotp, e.useUserManagementGetTotpStatus, e.useUserManagementListApiKeys, e.useUserManagementListOauthSessions, e.useUserManagementListScopedTokens, e.useUserManagementListUsers, e.useUserManagementOauthExchangeCode, e.useUserManagementOauthIssueCode, e.useUserManagementOauthRefresh, e.useUserManagementOauthVerifyAccessToken, e.useUserManagementResetPassword, e.useUserManagementRevokeApiKey, e.useUserManagementRevokeOauthSession, e.useUserManagementRevokeScopedToken, e.useUserManagementSetUserScopes, e.useUserManagementSetupTotp, e.useUserManagementUpdateUser, e.useUserManagementValidateApiKey, e.useUserManagementValidateCredentials, e.useUserManagementValidateScopedToken, e.useUserManagementVerifyTotp, e.useVacuumControlGetStatus, e.useVacuumControlLocate, e.useVacuumControlPause, e.useVacuumControlReturnToBase, e.useVacuumControlSetFanSpeed, e.useVacuumControlStart, e.useVacuumControlStop, e.useValveClose, e.useValveGetStatus, e.useValveOpen, e.useValveSetPosition, e.useValveStop, e.useVibrationGetStatus, e.useVideoclipsGetClipPlayback, e.useVideoclipsListClips, e.useVodPlayback, e.useWaterHeaterGetStatus, e.useWaterHeaterSetAway, e.useWaterHeaterSetOperationMode, e.useWaterHeaterSetTargetTemp, e.useWeatherGetStatus, e.useWebrtcSessionAddIceCandidate, e.useWebrtcSessionCloseSession, e.useWebrtcSessionCreateSession, e.useWebrtcSessionGetIceCandidates, e.useWebrtcSessionGetSessionState, e.useWebrtcSessionHandleAnswer, e.useWebrtcSessionHandleOffer, e.useWebrtcSessionHasAdaptiveBitrate, e.useWebrtcSessionListStreams, e.useWidget, e.useWidgetMetadata, e.useWidgetRegistry, e.useZoneAnalyticsGetCameraHistory, e.useZoneAnalyticsGetCurrentSnapshot, e.useZoneAnalyticsGetUnzonedHistory, e.useZoneAnalyticsGetZoneHistory, e.useZoneEditing, e.useZoneRulesListRules, e.useZoneRulesSetRules, e.useZonesAddZone, e.useZonesListZones, e.useZonesRemoveZone, e.useZonesUpdateZone, e.vacuumStateMeta, e.validateScopes, e.valveStateMeta, e.waterHeaterPhase, e.waterHeaterTint, e.weatherConditionMeta, e.weatherTint, e.default;
20
+ }, p = i.share["default:@camstack/ui-library"];
21
+ p === void 0 ? n.then(() => {
22
+ if (p = i.share["default:@camstack/ui-library"], p === void 0) throw Error("[Module Federation] Shared module @camstack/ui-library was imported before federation bootstrap finished.");
23
+ f(p);
24
+ }) : f(p);
25
+ //#endregion
26
+ export { c as a, s as i, a as n, l as o, o as r, u as s, d as t };
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.1.16",
39
+ version: "1.1.22",
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.1.13",
48
+ version: "1.1.14",
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.1.15",
84
+ version: "1.1.19",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DlqrO_A-.js");
6
- const require_resolve_frame = require("../resolve-frame-DCyc2Qwb.js");
5
+ const require_dist = require("../dist-DLIeYQDB.js");
6
+ const require_resolve_frame = require("../resolve-frame-xpUJERNO.js");
7
7
  let _camstack_shm_ring = require("@camstack/shm-ring");
8
8
  let sharp = require("sharp");
9
9
  sharp = require_dist.__toESM(sharp);
@@ -5526,6 +5526,10 @@ var SETTINGS_CACHE_TTL_MS = 5e3;
5526
5526
  * node that runs post-analysis (event/media/audio/motion generation). All
5527
5527
  * other nodes are fully inert. No multi-node balancing. Default: the hub. */
5528
5528
  var POST_PROCESSING_NODE_DEFAULT = "hub";
5529
+ /** Durable-handle schema for `postProcessingNodeId`: a non-empty string.
5530
+ * Absent / empty / non-string all fall back to the hub default — the exact
5531
+ * narrowing the old raw read applied inline. */
5532
+ var PostProcessingNodeIdSchema = require_dist.string().min(1);
5529
5533
  var SILENCE_FLOOR_DBFS = -55;
5530
5534
  var RETENTION_SWEEP_INTERVAL_MS = 5 * 6e4;
5531
5535
  var AUDIO_EVENT_HEARTBEAT_MS = 5e3;
@@ -5633,6 +5637,18 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
5633
5637
  /** True only on the cluster's designated post-processing node. When false the
5634
5638
  * addon subscribes to NOTHING — fully inert (no event/media generation). */
5635
5639
  isPostProcessingNode = true;
5640
+ _postProcessingNodeState = null;
5641
+ get postProcessingNodeState() {
5642
+ if (!this._postProcessingNodeState) this._postProcessingNodeState = this.state("postProcessingNodeId", PostProcessingNodeIdSchema, POST_PROCESSING_NODE_DEFAULT);
5643
+ return this._postProcessingNodeState;
5644
+ }
5645
+ /** GLOBAL face-recognition master switch (`enabled` key). Schema +
5646
+ * fallback derived from the face-settings source of truth. */
5647
+ _faceGlobalEnabledState = null;
5648
+ get faceGlobalEnabledState() {
5649
+ if (!this._faceGlobalEnabledState) this._faceGlobalEnabledState = this.state("enabled", FaceSettingsSchema.shape.enabled, FACE_DEFAULTS.enabled);
5650
+ return this._faceGlobalEnabledState;
5651
+ }
5636
5652
  constructor() {
5637
5653
  super({});
5638
5654
  }
@@ -5650,7 +5666,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
5650
5666
  let storage = this.ctx.kernel.storage;
5651
5667
  const mediaRoot = process.env.CAMSTACK_MEDIA_ROOT?.trim();
5652
5668
  if (mediaRoot) {
5653
- const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-CGM1poCk.js"));
5669
+ const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-DH2tTqvE.js"));
5654
5670
  storage = new FilesystemStorageProvider(mediaRoot);
5655
5671
  logger.info("pipeline-analytics: event media rooted at CAMSTACK_MEDIA_ROOT", { meta: { mediaRoot } });
5656
5672
  }
@@ -5683,8 +5699,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
5683
5699
  const rawNodeId = this.ctx.kernel.localNodeId ?? this.ctx.id;
5684
5700
  const ownNodeId = rawNodeId.includes("/") ? rawNodeId.split("/")[0] : rawNodeId;
5685
5701
  {
5686
- const raw = (await this.ctx?.settings?.readAddonStore() ?? {})["postProcessingNodeId"];
5687
- const designated = typeof raw === "string" && raw.length > 0 ? raw : POST_PROCESSING_NODE_DEFAULT;
5702
+ const designated = await this.postProcessingNodeState.get();
5688
5703
  this.isPostProcessingNode = ownNodeId === designated;
5689
5704
  if (!this.isPostProcessingNode) logger.info("pipeline-analytics INERT on this node — post-processing assigned elsewhere", { meta: {
5690
5705
  ownNodeId,
@@ -6044,10 +6059,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
6044
6059
  }
6045
6060
  ] };
6046
6061
  const videoclipsProvider = createVideoclipsProvider({
6047
- defaultPad: {
6048
- preMs: 5e3,
6049
- postMs: 1e4
6050
- },
6062
+ defaultPad: require_dist.EVENT_PAD_MS,
6051
6063
  fetchEvents: async ({ deviceId, since, until, limit }) => {
6052
6064
  const [motion, object, audio] = await Promise.all([
6053
6065
  this.getMotionEvents({
@@ -6466,7 +6478,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
6466
6478
  async resolveGlobalFaceEnabled() {
6467
6479
  const now = Date.now();
6468
6480
  if (this.faceGlobalEnabledCache && now < this.faceGlobalEnabledCache.expiresAt) return this.faceGlobalEnabledCache.value;
6469
- const value = resolveFaceSettings(await this.ctx?.settings?.readAddonStore() ?? {}).enabled;
6481
+ const value = await this.faceGlobalEnabledState.get();
6470
6482
  this.faceGlobalEnabledCache = {
6471
6483
  value,
6472
6484
  expiresAt: now + SETTINGS_CACHE_TTL_MS