@camstack/addon-post-analysis 1.1.23 → 1.1.24
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/{dist-DbgDsnRE.js → dist-B0VgBdBN.js} +573 -251
- package/dist/{dist-DiIUcFdN.mjs → dist-DRK78NMq.mjs} +573 -251
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/enrichment-engine/index.js +2 -2
- package/dist/enrichment-engine/index.mjs +1 -1
- package/dist/{node-CdzrYoKs.js → node-Cx0LM0Sq.js} +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BaXPYx2C.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BsRL9Bh-.mjs} +3 -3
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DtOrjE2U.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-CZ8URdDr.mjs → hostInit-sO1Drmtf.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +214 -43
- package/dist/pipeline-analytics/index.mjs +212 -41
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/dist/{resolve-frame-nQMd6Z8B.js → resolve-frame-DBXwF5fk.js} +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BEL-L4wR.mjs +0 -26
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as object, S as number, c as pipelineAnalyticsCapability, d as zoneAnalyticsCapability, f as errMsg, h as EventCategory, i as cosineSimilarity, l as plateGalleryCapability, m as DeviceType, n as addonWidgetsSourceCapability, o as faceGalleryCapability, p as BaseAddon, r as audioMetricsCapability, t as EVENT_PAD_MS, u as videoclipsCapability, v as hydrateSchema, w as string, x as boolean } from "../dist-
|
|
1
|
+
import { C as object, S as number, c as pipelineAnalyticsCapability, d as zoneAnalyticsCapability, f as errMsg, h as EventCategory, i as cosineSimilarity, l as plateGalleryCapability, m as DeviceType, n as addonWidgetsSourceCapability, o as faceGalleryCapability, p as BaseAddon, r as audioMetricsCapability, t as EVENT_PAD_MS, u as videoclipsCapability, v as hydrateSchema, w as string, x as boolean } from "../dist-DRK78NMq.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
|
import sharp from "sharp";
|
|
@@ -694,17 +694,24 @@ function normalizeToPixel(p, width, height) {
|
|
|
694
694
|
//#region src/pipeline-analytics/pipeline/tracker/sort-tracker.ts
|
|
695
695
|
var DEFAULT_TRACKER_CONFIG = {
|
|
696
696
|
iouThreshold: .3,
|
|
697
|
-
|
|
697
|
+
maxMissedMs: 4e3,
|
|
698
698
|
minHits: 3,
|
|
699
699
|
predictiveCoasting: true,
|
|
700
700
|
classGating: true,
|
|
701
701
|
occlusionEnabled: true,
|
|
702
702
|
occlusionContainment: .6,
|
|
703
|
-
|
|
704
|
-
maxTrackLifetimeMs: 3e5
|
|
703
|
+
occlusionMaxMissedMs: 8e3,
|
|
704
|
+
maxTrackLifetimeMs: 3e5,
|
|
705
|
+
rescueIouThreshold: .1,
|
|
706
|
+
rescueCentroidFactor: .75,
|
|
707
|
+
resurrectionWindowMs: 8e3,
|
|
708
|
+
stationarySpeedPx: 2
|
|
705
709
|
};
|
|
706
710
|
var MAX_PATH_LENGTH = 300;
|
|
707
711
|
var nextTrackId = 1;
|
|
712
|
+
function clamp(value, min, max) {
|
|
713
|
+
return Math.max(min, Math.min(max, value));
|
|
714
|
+
}
|
|
708
715
|
function iou$1(a, b) {
|
|
709
716
|
const ax1 = a.x, ay1 = a.y, ax2 = a.x + a.w, ay2 = a.y + a.h;
|
|
710
717
|
const bx1 = b.x, by1 = b.y, bx2 = b.x + b.w, by2 = b.y + b.h;
|
|
@@ -734,26 +741,51 @@ var SortTracker = class {
|
|
|
734
741
|
};
|
|
735
742
|
}
|
|
736
743
|
/** Where a track is expected this frame — extrapolated by velocity while
|
|
737
|
-
* coasting (predictiveCoasting), else its last known bbox.
|
|
744
|
+
* coasting (predictiveCoasting), else its last known bbox. A stationary
|
|
745
|
+
* track (speed < stationarySpeedPx) is frozen so bbox jitter can't walk the
|
|
746
|
+
* box off a sitting object; otherwise the drift is capped at one bbox size
|
|
747
|
+
* so a stale velocity can't fling the box across the frame. Public so the
|
|
748
|
+
* clamp is directly unit-testable. */
|
|
738
749
|
predicted(t) {
|
|
739
750
|
if (!this.config.predictiveCoasting) return t.bbox;
|
|
751
|
+
if (Math.hypot(t.velocity.dx, t.velocity.dy) < this.config.stationarySpeedPx) return t.bbox;
|
|
740
752
|
const f = t.age + 1;
|
|
753
|
+
const driftX = clamp(t.velocity.dx * f, -t.bbox.w, t.bbox.w);
|
|
754
|
+
const driftY = clamp(t.velocity.dy * f, -t.bbox.h, t.bbox.h);
|
|
741
755
|
return {
|
|
742
|
-
x: t.bbox.x +
|
|
743
|
-
y: t.bbox.y +
|
|
756
|
+
x: t.bbox.x + driftX,
|
|
757
|
+
y: t.bbox.y + driftY,
|
|
744
758
|
w: t.bbox.w,
|
|
745
759
|
h: t.bbox.h
|
|
746
760
|
};
|
|
747
761
|
}
|
|
762
|
+
/**
|
|
763
|
+
* Loose same-class gate used by the rescue and resurrection passes: accept
|
|
764
|
+
* when the detection overlaps the track's LAST-KNOWN bbox by `rescueIou`, or
|
|
765
|
+
* its centroid is within `rescueCentroidFactor × bbox-diagonal`. Always class-
|
|
766
|
+
* gated (a rescue must never cross classes), independent of `classGating`.
|
|
767
|
+
*/
|
|
768
|
+
looseMatch(track, det) {
|
|
769
|
+
if (track.class !== det.class) return false;
|
|
770
|
+
if (iou$1(track.bbox, det.bbox) >= this.config.rescueIouThreshold) return true;
|
|
771
|
+
const tc = bboxCentroid(track.bbox);
|
|
772
|
+
const dc = bboxCentroid(det.bbox);
|
|
773
|
+
const dist = Math.hypot(tc.x - dc.x, tc.y - dc.y);
|
|
774
|
+
const diag = Math.hypot(track.bbox.w, track.bbox.h);
|
|
775
|
+
return dist <= this.config.rescueCentroidFactor * diag;
|
|
776
|
+
}
|
|
748
777
|
update(detections, timestamp) {
|
|
749
778
|
if (this.config.maxTrackLifetimeMs > 0) {
|
|
750
779
|
const alive = [];
|
|
751
780
|
for (const track of this.tracks) if (timestamp - track.firstSeen > this.config.maxTrackLifetimeMs) {
|
|
752
781
|
track.lost = true;
|
|
782
|
+
track.lostAt = timestamp;
|
|
783
|
+
track.resurrectable = false;
|
|
753
784
|
this.lostTracks.push(track);
|
|
754
785
|
} else alive.push(track);
|
|
755
786
|
this.tracks = alive;
|
|
756
787
|
}
|
|
788
|
+
this.lostTracks = this.lostTracks.filter((t) => timestamp - t.lostAt <= this.config.resurrectionWindowMs);
|
|
757
789
|
const used = /* @__PURE__ */ new Set();
|
|
758
790
|
const matchedTracks = /* @__PURE__ */ new Set();
|
|
759
791
|
const matched = /* @__PURE__ */ new Map();
|
|
@@ -778,6 +810,27 @@ var SortTracker = class {
|
|
|
778
810
|
matchedTracks.add(pair.track);
|
|
779
811
|
used.add(pair.detIdx);
|
|
780
812
|
}
|
|
813
|
+
const rescuePairs = [];
|
|
814
|
+
for (const track of this.tracks) {
|
|
815
|
+
if (matchedTracks.has(track)) continue;
|
|
816
|
+
for (let di = 0; di < detections.length; di++) {
|
|
817
|
+
if (used.has(di)) continue;
|
|
818
|
+
const det = detections[di];
|
|
819
|
+
if (!this.looseMatch(track, det)) continue;
|
|
820
|
+
rescuePairs.push({
|
|
821
|
+
track,
|
|
822
|
+
detIdx: di,
|
|
823
|
+
score: iou$1(track.bbox, det.bbox)
|
|
824
|
+
});
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
rescuePairs.sort((a, b) => b.score - a.score);
|
|
828
|
+
for (const pair of rescuePairs) {
|
|
829
|
+
if (matchedTracks.has(pair.track) || used.has(pair.detIdx)) continue;
|
|
830
|
+
matched.set(pair.track, detections[pair.detIdx]);
|
|
831
|
+
matchedTracks.add(pair.track);
|
|
832
|
+
used.add(pair.detIdx);
|
|
833
|
+
}
|
|
781
834
|
for (const [track, det] of matched) {
|
|
782
835
|
const prevCenter = bboxCentroid({
|
|
783
836
|
x: track.bbox.x,
|
|
@@ -816,12 +869,47 @@ var SortTracker = class {
|
|
|
816
869
|
}
|
|
817
870
|
const occluded = this.config.occlusionEnabled && occluderBoxes.some((ob) => containment(this.predicted(track), ob) >= this.config.occlusionContainment);
|
|
818
871
|
track.age++;
|
|
819
|
-
|
|
820
|
-
if (track.age > limit) {
|
|
872
|
+
if (timestamp - track.lastSeen > (occluded ? this.config.occlusionMaxMissedMs : this.config.maxMissedMs)) {
|
|
821
873
|
track.lost = true;
|
|
874
|
+
track.lostAt = timestamp;
|
|
875
|
+
track.resurrectable = true;
|
|
822
876
|
this.lostTracks.push(track);
|
|
823
877
|
} else surviving.push(track);
|
|
824
878
|
}
|
|
879
|
+
for (let di = 0; di < detections.length; di++) {
|
|
880
|
+
if (used.has(di)) continue;
|
|
881
|
+
const det = detections[di];
|
|
882
|
+
let best;
|
|
883
|
+
let bestScore = -1;
|
|
884
|
+
for (const lost of this.lostTracks) {
|
|
885
|
+
if (!lost.resurrectable) continue;
|
|
886
|
+
if (timestamp - lost.lostAt > this.config.resurrectionWindowMs) continue;
|
|
887
|
+
if (!this.looseMatch(lost, det)) continue;
|
|
888
|
+
const score = iou$1(lost.bbox, det.bbox);
|
|
889
|
+
if (score > bestScore) {
|
|
890
|
+
best = lost;
|
|
891
|
+
bestScore = score;
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
if (!best) continue;
|
|
895
|
+
this.lostTracks = this.lostTracks.filter((t) => t !== best);
|
|
896
|
+
best.bbox = det.bbox;
|
|
897
|
+
best.class = det.class;
|
|
898
|
+
best.originalClass = det.originalClass;
|
|
899
|
+
best.score = det.score;
|
|
900
|
+
best.age = 0;
|
|
901
|
+
best.hits++;
|
|
902
|
+
best.lost = false;
|
|
903
|
+
best.lastSeen = timestamp;
|
|
904
|
+
best.velocity = {
|
|
905
|
+
dx: 0,
|
|
906
|
+
dy: 0
|
|
907
|
+
};
|
|
908
|
+
best.path.push(det.bbox);
|
|
909
|
+
if (best.path.length > MAX_PATH_LENGTH) best.path.shift();
|
|
910
|
+
surviving.push(best);
|
|
911
|
+
used.add(di);
|
|
912
|
+
}
|
|
825
913
|
for (let di = 0; di < detections.length; di++) {
|
|
826
914
|
if (used.has(di)) continue;
|
|
827
915
|
const det = detections[di];
|
|
@@ -841,7 +929,9 @@ var SortTracker = class {
|
|
|
841
929
|
dx: 0,
|
|
842
930
|
dy: 0
|
|
843
931
|
},
|
|
844
|
-
lost: false
|
|
932
|
+
lost: false,
|
|
933
|
+
lostAt: 0,
|
|
934
|
+
resurrectable: true
|
|
845
935
|
});
|
|
846
936
|
}
|
|
847
937
|
this.tracks = surviving;
|
|
@@ -956,6 +1046,7 @@ var StateAnalyzer = class {
|
|
|
956
1046
|
//#region src/pipeline-analytics/pipeline/events/event-filter.ts
|
|
957
1047
|
var DEFAULT_EVENT_EMITTER_CONFIG = {
|
|
958
1048
|
minTrackAge: 3,
|
|
1049
|
+
minTrackAgeMs: 0,
|
|
959
1050
|
cooldownSec: 5,
|
|
960
1051
|
enabledTypes: [
|
|
961
1052
|
"object.entering",
|
|
@@ -986,6 +1077,13 @@ var DetectionEventEmitter = class {
|
|
|
986
1077
|
config;
|
|
987
1078
|
previousStates = /* @__PURE__ */ new Map();
|
|
988
1079
|
lastEmitted = /* @__PURE__ */ new Map();
|
|
1080
|
+
/**
|
|
1081
|
+
* Last-known track per id. A `leaving` state fires for a track that is ABSENT
|
|
1082
|
+
* from the current frame, so it can't be resolved from `trackMap` — it is
|
|
1083
|
+
* resolved from this snapshot instead (without it, leaving events never
|
|
1084
|
+
* fired: the latent "0 `left` events in 24h" bug).
|
|
1085
|
+
*/
|
|
1086
|
+
lastKnownTracks = /* @__PURE__ */ new Map();
|
|
989
1087
|
constructor(config = {}) {
|
|
990
1088
|
this.config = {
|
|
991
1089
|
...DEFAULT_EVENT_EMITTER_CONFIG,
|
|
@@ -997,10 +1095,12 @@ var DetectionEventEmitter = class {
|
|
|
997
1095
|
const now = Date.now();
|
|
998
1096
|
const stateMap = new Map(states.map((s) => [s.trackId, s]));
|
|
999
1097
|
const trackMap = new Map(tracks.map((t) => [t.trackId, t]));
|
|
1098
|
+
for (const t of tracks) this.lastKnownTracks.set(t.trackId, t);
|
|
1000
1099
|
for (const state of states) {
|
|
1001
|
-
const track = trackMap.get(state.trackId);
|
|
1100
|
+
const track = trackMap.get(state.trackId) ?? this.lastKnownTracks.get(state.trackId);
|
|
1002
1101
|
if (!track) continue;
|
|
1003
1102
|
if (track.trackAge < this.config.minTrackAge) continue;
|
|
1103
|
+
if (state.dwellTimeMs < this.config.minTrackAgeMs) continue;
|
|
1004
1104
|
const eventType = STATE_TO_EVENT[state.state];
|
|
1005
1105
|
if (!eventType) continue;
|
|
1006
1106
|
if (!this.config.enabledTypes.includes(eventType)) continue;
|
|
@@ -1046,12 +1146,16 @@ var DetectionEventEmitter = class {
|
|
|
1046
1146
|
trackPath: [...track.path]
|
|
1047
1147
|
});
|
|
1048
1148
|
}
|
|
1049
|
-
for (const state of states) if (state.state === "leaving")
|
|
1149
|
+
for (const state of states) if (state.state === "leaving") {
|
|
1150
|
+
this.previousStates.delete(state.trackId);
|
|
1151
|
+
this.lastKnownTracks.delete(state.trackId);
|
|
1152
|
+
}
|
|
1050
1153
|
return events;
|
|
1051
1154
|
}
|
|
1052
1155
|
reset() {
|
|
1053
1156
|
this.previousStates.clear();
|
|
1054
1157
|
this.lastEmitted.clear();
|
|
1158
|
+
this.lastKnownTracks.clear();
|
|
1055
1159
|
}
|
|
1056
1160
|
};
|
|
1057
1161
|
//#endregion
|
|
@@ -3772,22 +3876,22 @@ function resolveDetectionSensitivitySettings(raw) {
|
|
|
3772
3876
|
stationaryThresholdSec: pick("stationaryThresholdSec")
|
|
3773
3877
|
};
|
|
3774
3878
|
}
|
|
3775
|
-
//#endregion
|
|
3776
|
-
//#region src/pipeline-analytics/tracking-settings.ts
|
|
3777
|
-
/**
|
|
3778
|
-
* Per-device tracker tuning. These drive the SORT tracker (association,
|
|
3779
|
-
* coasting, occlusion, lifetime) and the detector-dropout frame skip. Every
|
|
3780
|
-
* field is independently overridable per camera from the admin UI; unknown or
|
|
3781
|
-
* invalid values fall back to the field default (never throws on a bad blob).
|
|
3782
|
-
*
|
|
3783
|
-
* Note: `minHits` lives in detection-sensitivity-settings (it predates this
|
|
3784
|
-
* file and already flows to the tracker) — it is NOT duplicated here.
|
|
3785
|
-
*/
|
|
3786
3879
|
var TrackingSettingsSchema = object({
|
|
3787
3880
|
/** IoU required to match a (predicted) track to a detection. */
|
|
3788
3881
|
iouThreshold: number().min(0).max(1).default(.3),
|
|
3789
|
-
/**
|
|
3882
|
+
/** Wall-clock coasting budget (ms) before a missed track is dropped. Time-
|
|
3883
|
+
* based so behaviour is identical across camera frame rates. */
|
|
3884
|
+
maxMissedMs: number().min(0).default(4e3),
|
|
3885
|
+
/** Minimum wall-clock track age (ms) before it may produce events. */
|
|
3886
|
+
minTrackAgeMs: number().min(0).default(1e3),
|
|
3887
|
+
/** Extended coasting budget (ms) while a track is occluded. */
|
|
3888
|
+
occlusionMaxMissedMs: number().min(0).default(8e3),
|
|
3889
|
+
/** @deprecated frame-based alias for {@link maxMissedMs}. Retained so
|
|
3890
|
+
* existing per-device blobs keep working — resolved into `maxMissedMs`
|
|
3891
|
+
* (× {@link NOMINAL_FRAME_MS}) only when `maxMissedMs` is unset. */
|
|
3790
3892
|
maxMissedFrames: number().int().min(0).default(30),
|
|
3893
|
+
/** @deprecated frame-based alias for {@link occlusionMaxMissedMs}. */
|
|
3894
|
+
occlusionMaxMissedFrames: number().int().min(0).default(60),
|
|
3791
3895
|
/** Hard cap on total track lifetime — retire+restart beyond this to bound
|
|
3792
3896
|
* drift / long-lived false positives. 0 = unlimited. */
|
|
3793
3897
|
maxTrackLifetimeSec: number().min(0).default(300),
|
|
@@ -3801,8 +3905,17 @@ var TrackingSettingsSchema = object({
|
|
|
3801
3905
|
/** Containment ratio (intersection / occluded-area) above which a missed
|
|
3802
3906
|
* track is considered hidden behind another track. */
|
|
3803
3907
|
occlusionContainment: number().min(0).max(1).default(.6),
|
|
3804
|
-
/**
|
|
3805
|
-
|
|
3908
|
+
/** Loose IoU gate (vs. last-known bbox) for the second (rescue) association
|
|
3909
|
+
* pass + graveyard resurrection. */
|
|
3910
|
+
rescueIouThreshold: number().min(0).max(1).default(.1),
|
|
3911
|
+
/** Centroid gate for rescue/resurrection: fraction of the bbox diagonal. */
|
|
3912
|
+
rescueCentroidFactor: number().min(0).default(.75),
|
|
3913
|
+
/** Wall-clock graveyard retention (ms): a dropped track re-attaches to a new
|
|
3914
|
+
* same-class detection (keeping its id) for this long. */
|
|
3915
|
+
resurrectionWindowMs: number().min(0).default(8e3),
|
|
3916
|
+
/** Speed (px/frame) below which a track's prediction is frozen (stationary
|
|
3917
|
+
* jitter can't drift the box off a sitting object). */
|
|
3918
|
+
stationarySpeedPx: number().min(0).default(2),
|
|
3806
3919
|
/** Skip frames where detections suddenly drop to zero (detector glitch). */
|
|
3807
3920
|
dropoutSkipEnabled: boolean().default(true),
|
|
3808
3921
|
/** Max consecutive all-zero frames absorbed as a glitch before the scene is
|
|
@@ -3817,15 +3930,26 @@ var TRACKING_DEFAULTS = TrackingSettingsSchema.parse({});
|
|
|
3817
3930
|
*/
|
|
3818
3931
|
function resolveTrackingSettings(raw) {
|
|
3819
3932
|
const s = TrackingSettingsSchema.shape;
|
|
3933
|
+
const maxMissedFrames = s.maxMissedFrames.catch(TRACKING_DEFAULTS.maxMissedFrames).parse(raw.maxMissedFrames);
|
|
3934
|
+
const occlusionMaxMissedFrames = s.occlusionMaxMissedFrames.catch(TRACKING_DEFAULTS.occlusionMaxMissedFrames).parse(raw.occlusionMaxMissedFrames);
|
|
3935
|
+
const maxMissedMs = raw.maxMissedMs !== void 0 ? s.maxMissedMs.catch(TRACKING_DEFAULTS.maxMissedMs).parse(raw.maxMissedMs) : raw.maxMissedFrames !== void 0 ? Math.round(maxMissedFrames * 133) : TRACKING_DEFAULTS.maxMissedMs;
|
|
3936
|
+
const occlusionMaxMissedMs = raw.occlusionMaxMissedMs !== void 0 ? s.occlusionMaxMissedMs.catch(TRACKING_DEFAULTS.occlusionMaxMissedMs).parse(raw.occlusionMaxMissedMs) : raw.occlusionMaxMissedFrames !== void 0 ? Math.round(occlusionMaxMissedFrames * 133) : TRACKING_DEFAULTS.occlusionMaxMissedMs;
|
|
3820
3937
|
return {
|
|
3821
3938
|
iouThreshold: s.iouThreshold.catch(TRACKING_DEFAULTS.iouThreshold).parse(raw.iouThreshold),
|
|
3822
|
-
|
|
3939
|
+
maxMissedMs,
|
|
3940
|
+
minTrackAgeMs: s.minTrackAgeMs.catch(TRACKING_DEFAULTS.minTrackAgeMs).parse(raw.minTrackAgeMs),
|
|
3941
|
+
occlusionMaxMissedMs,
|
|
3942
|
+
maxMissedFrames,
|
|
3943
|
+
occlusionMaxMissedFrames,
|
|
3823
3944
|
maxTrackLifetimeSec: s.maxTrackLifetimeSec.catch(TRACKING_DEFAULTS.maxTrackLifetimeSec).parse(raw.maxTrackLifetimeSec),
|
|
3824
3945
|
predictiveCoasting: s.predictiveCoasting.catch(TRACKING_DEFAULTS.predictiveCoasting).parse(raw.predictiveCoasting),
|
|
3825
3946
|
classGating: s.classGating.catch(TRACKING_DEFAULTS.classGating).parse(raw.classGating),
|
|
3826
3947
|
occlusionEnabled: s.occlusionEnabled.catch(TRACKING_DEFAULTS.occlusionEnabled).parse(raw.occlusionEnabled),
|
|
3827
3948
|
occlusionContainment: s.occlusionContainment.catch(TRACKING_DEFAULTS.occlusionContainment).parse(raw.occlusionContainment),
|
|
3828
|
-
|
|
3949
|
+
rescueIouThreshold: s.rescueIouThreshold.catch(TRACKING_DEFAULTS.rescueIouThreshold).parse(raw.rescueIouThreshold),
|
|
3950
|
+
rescueCentroidFactor: s.rescueCentroidFactor.catch(TRACKING_DEFAULTS.rescueCentroidFactor).parse(raw.rescueCentroidFactor),
|
|
3951
|
+
resurrectionWindowMs: s.resurrectionWindowMs.catch(TRACKING_DEFAULTS.resurrectionWindowMs).parse(raw.resurrectionWindowMs),
|
|
3952
|
+
stationarySpeedPx: s.stationarySpeedPx.catch(TRACKING_DEFAULTS.stationarySpeedPx).parse(raw.stationarySpeedPx),
|
|
3829
3953
|
dropoutSkipEnabled: s.dropoutSkipEnabled.catch(TRACKING_DEFAULTS.dropoutSkipEnabled).parse(raw.dropoutSkipEnabled),
|
|
3830
3954
|
dropoutMaxSkipFrames: s.dropoutMaxSkipFrames.catch(TRACKING_DEFAULTS.dropoutMaxSkipFrames).parse(raw.dropoutMaxSkipFrames)
|
|
3831
3955
|
};
|
|
@@ -6970,16 +7094,21 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
6970
7094
|
p = new FrameProcessor(deviceId, {
|
|
6971
7095
|
minHits,
|
|
6972
7096
|
iouThreshold: trk.iouThreshold,
|
|
6973
|
-
|
|
7097
|
+
maxMissedMs: trk.maxMissedMs,
|
|
6974
7098
|
predictiveCoasting: trk.predictiveCoasting,
|
|
6975
7099
|
classGating: trk.classGating,
|
|
6976
7100
|
occlusionEnabled: trk.occlusionEnabled,
|
|
6977
7101
|
occlusionContainment: trk.occlusionContainment,
|
|
6978
|
-
|
|
7102
|
+
occlusionMaxMissedMs: trk.occlusionMaxMissedMs,
|
|
7103
|
+
rescueIouThreshold: trk.rescueIouThreshold,
|
|
7104
|
+
rescueCentroidFactor: trk.rescueCentroidFactor,
|
|
7105
|
+
resurrectionWindowMs: trk.resurrectionWindowMs,
|
|
7106
|
+
stationarySpeedPx: trk.stationarySpeedPx,
|
|
6979
7107
|
maxTrackLifetimeMs: trk.maxTrackLifetimeSec * 1e3
|
|
6980
7108
|
}, { stationaryThresholdSec }, {
|
|
6981
7109
|
minTrackAge,
|
|
6982
|
-
cooldownSec
|
|
7110
|
+
cooldownSec,
|
|
7111
|
+
minTrackAgeMs: trk.minTrackAgeMs
|
|
6983
7112
|
}, source);
|
|
6984
7113
|
this.processors.set(key, p);
|
|
6985
7114
|
}
|
|
@@ -7540,12 +7669,53 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
7540
7669
|
},
|
|
7541
7670
|
{
|
|
7542
7671
|
type: "number",
|
|
7543
|
-
key: "
|
|
7544
|
-
label: "Max
|
|
7545
|
-
description: "
|
|
7672
|
+
key: "maxMissedMs",
|
|
7673
|
+
label: "Max coasting time",
|
|
7674
|
+
description: "How long (ms) a track may miss detections before it is dropped. Time-based so it behaves the same on a 5fps and a 23fps camera.",
|
|
7546
7675
|
min: 0,
|
|
7547
|
-
step:
|
|
7548
|
-
default: TRACKING_DEFAULTS.
|
|
7676
|
+
step: 100,
|
|
7677
|
+
default: TRACKING_DEFAULTS.maxMissedMs,
|
|
7678
|
+
unit: "ms"
|
|
7679
|
+
},
|
|
7680
|
+
{
|
|
7681
|
+
type: "number",
|
|
7682
|
+
key: "minTrackAgeMs",
|
|
7683
|
+
label: "Min track age",
|
|
7684
|
+
description: "A track must exist for at least this long (ms) before it can produce events — stops sub-second flicker fragments from becoming events.",
|
|
7685
|
+
min: 0,
|
|
7686
|
+
step: 100,
|
|
7687
|
+
default: TRACKING_DEFAULTS.minTrackAgeMs,
|
|
7688
|
+
unit: "ms"
|
|
7689
|
+
},
|
|
7690
|
+
{
|
|
7691
|
+
type: "number",
|
|
7692
|
+
key: "resurrectionWindowMs",
|
|
7693
|
+
label: "Resurrection window",
|
|
7694
|
+
description: "How long (ms) a dropped track can be re-attached to a re-appearing same-class detection (keeping its id) — the main fix for a stationary object fragmenting into many tracks.",
|
|
7695
|
+
min: 0,
|
|
7696
|
+
step: 500,
|
|
7697
|
+
default: TRACKING_DEFAULTS.resurrectionWindowMs,
|
|
7698
|
+
unit: "ms"
|
|
7699
|
+
},
|
|
7700
|
+
{
|
|
7701
|
+
type: "number",
|
|
7702
|
+
key: "rescueIouThreshold",
|
|
7703
|
+
label: "Rescue IoU threshold",
|
|
7704
|
+
description: "Looser overlap (vs. a track’s last-known box) for the second association + resurrection passes. Lower = more aggressive re-attachment.",
|
|
7705
|
+
min: 0,
|
|
7706
|
+
max: 1,
|
|
7707
|
+
step: .05,
|
|
7708
|
+
default: TRACKING_DEFAULTS.rescueIouThreshold
|
|
7709
|
+
},
|
|
7710
|
+
{
|
|
7711
|
+
type: "number",
|
|
7712
|
+
key: "stationarySpeedPx",
|
|
7713
|
+
label: "Stationary speed",
|
|
7714
|
+
description: "Speed (px/frame) below which a track is treated as stationary and its prediction is frozen, so bbox jitter cannot walk the box off a sitting object.",
|
|
7715
|
+
min: 0,
|
|
7716
|
+
step: .5,
|
|
7717
|
+
default: TRACKING_DEFAULTS.stationarySpeedPx,
|
|
7718
|
+
unit: "px"
|
|
7549
7719
|
},
|
|
7550
7720
|
{
|
|
7551
7721
|
type: "number",
|
|
@@ -7590,12 +7760,13 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
7590
7760
|
},
|
|
7591
7761
|
{
|
|
7592
7762
|
type: "number",
|
|
7593
|
-
key: "
|
|
7594
|
-
label: "Occlusion max
|
|
7595
|
-
description: "Extended coasting
|
|
7763
|
+
key: "occlusionMaxMissedMs",
|
|
7764
|
+
label: "Occlusion max coasting time",
|
|
7765
|
+
description: "Extended coasting time (ms) while a track is hidden behind another.",
|
|
7596
7766
|
min: 0,
|
|
7597
|
-
step:
|
|
7598
|
-
default: TRACKING_DEFAULTS.
|
|
7767
|
+
step: 100,
|
|
7768
|
+
default: TRACKING_DEFAULTS.occlusionMaxMissedMs,
|
|
7769
|
+
unit: "ms"
|
|
7599
7770
|
},
|
|
7600
7771
|
{
|
|
7601
7772
|
type: "boolean",
|
|
@@ -30,7 +30,7 @@ async function d(e) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async function f() {
|
|
33
|
-
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BsRL9Bh-.mjs")).catch((e) => {
|
|
34
34
|
throw l = void 0, e;
|
|
35
35
|
}), l;
|
|
36
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-post-analysis",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.24",
|
|
4
4
|
"description": "CamStack Post-Analysis bundle — enrichment, embedding-encoder, pipeline-analytics. Multi-entry npm package shipping addons that consume pipeline output.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|
|
@@ -1,26 +0,0 @@
|
|
|
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.useDayNightGetOptions, e.useDayNightGetStatus, e.useDayNightSetSettings, 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.useImageSettingsGetOptions, e.useImageSettingsGetStatus, e.useImageSettingsSetSettings, 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.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDetectWeight, 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 };
|