@camstack/addon-post-analysis 1.2.133 → 1.2.135
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-DruBvw_u.mjs → dist-BAN19J7s.mjs} +255 -25
- package/dist/{dist-Dqa0bdV6.js → dist-kn_4KEmG.js} +255 -25
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CJn5xy9l.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CnLNNc0Y.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-D_xOplZC.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-y4mecoXI.mjs → hostInit-7L4CyDzy.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +269 -26
- package/dist/pipeline-analytics/index.mjs +269 -26
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +3 -2
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CZJ4DupR.mjs +0 -26
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as customAction, A as NcTaxonomySchema, At as sleep, B as TIMELAPSE_DENSE_FLOOR_SEC, Bt as string, C as NcRuleSchema, Ct as errMsg, D as NcSnoozeSchema, Dt as hydrateSchema, E as NcSnoozeInputSchema, Et as createEvent, Ft as literal, G as VISIT_MERGE_GAP_MS, H as TimelapseRulePatchSchema, Ht as EventCategory, I as SCENE_DEFAULT_ANCHOR_THRESHOLD, It as number, J as assertTimelapseCadences, K as addonWidgetsSourceCapability, L as SCENE_DEFAULT_UNCOVERED_POLICY, Lt as object, Mt as array, N as RECORDING_EXPORT_MAX_READ_BYTES, Nt as boolean, O as NcSnoozeSuppressedSchema, Ot as isDeviceScopedCap, P as RetrainStatusSchema, Pt as discriminatedUnion, Q as cosineSimilarity$1, R as SCENE_DIVERGED, Rt as partialRecord, S as NcRulePatchSchema, St as zoneAnalyticsCapability, T as NcScheduleSchema, Tt as DeviceType, U as TimelapseRuleSchema, V as TimelapseRuleInputSchema, Vt as unknown, W as TrackSourceSchema, X as audioModeOf, Y as audioMetricsCapability, Z as buildEventKindDescriptor, _ as NC_DEFAULT_SNOOZE_MINUTES, _t as sceneMonitorCapability, a as DEFAULT_EVENT_COLOR, b as NcConditionDescriptorSchema, bt as vectorDimFromBase64, ct as kebabToCamel, d as EVENT_PAD_MS, dt as pickClusterStepModels, et as defineCustomActions, f as FULL_IMAGE_BBOX, ft as pipelineAnalyticsCapability, g as NC_CONDITION_CATALOG, h as NC_ALARM_SYSTEM_EVENT_KINDS, ht as readTimelapseGeneratedAt, i as CLUSTER_MODEL_SCOPED_STEPS, it as faceGalleryCapability, j as OpsLogEntrySchema, jt as _enum, k as NcSystemEventKindSchema, kt as nodePin, l as DeclaredDevices, lt as notificationRulesCapability, m as MACRO_LABELS, mt as readDeviceStateFrom, n as AnalyticsGroupRecordSchema, ot as isDetectionMacroClass, p as LabelAttributionSchema, pt as plateGalleryCapability, q as alarmPanelCapability, r as BaseDevice, rt as encodeVectorBase64, s as DETECTION_MACRO_CLASSES, st as isScheduleActive, t as AnalyticsGroupDetailSchema, tt as deriveRecordingMode, u as EVENT_KIND_BY_CAP, vt as subKindsOf, w as NcRuleTargetSchema, wt as BaseAddon, x as NcRuleInputSchema, xt as videoclipsCapability, y as NC_TAXONOMY, yt as systemEventFilterApplies, z as SceneMonitorSchema, zt as record } from "../dist-
|
|
1
|
+
import { $ as customAction, A as NcTaxonomySchema, At as sleep, B as TIMELAPSE_DENSE_FLOOR_SEC, Bt as string, C as NcRuleSchema, Ct as errMsg, D as NcSnoozeSchema, Dt as hydrateSchema, E as NcSnoozeInputSchema, Et as createEvent, Ft as literal, G as VISIT_MERGE_GAP_MS, H as TimelapseRulePatchSchema, Ht as EventCategory, I as SCENE_DEFAULT_ANCHOR_THRESHOLD, It as number, J as assertTimelapseCadences, K as addonWidgetsSourceCapability, L as SCENE_DEFAULT_UNCOVERED_POLICY, Lt as object, Mt as array, N as RECORDING_EXPORT_MAX_READ_BYTES, Nt as boolean, O as NcSnoozeSuppressedSchema, Ot as isDeviceScopedCap, P as RetrainStatusSchema, Pt as discriminatedUnion, Q as cosineSimilarity$1, R as SCENE_DIVERGED, Rt as partialRecord, S as NcRulePatchSchema, St as zoneAnalyticsCapability, T as NcScheduleSchema, Tt as DeviceType, U as TimelapseRuleSchema, V as TimelapseRuleInputSchema, Vt as unknown, W as TrackSourceSchema, X as audioModeOf, Y as audioMetricsCapability, Z as buildEventKindDescriptor, _ as NC_DEFAULT_SNOOZE_MINUTES, _t as sceneMonitorCapability, a as DEFAULT_EVENT_COLOR, b as NcConditionDescriptorSchema, bt as vectorDimFromBase64, ct as kebabToCamel, d as EVENT_PAD_MS, dt as pickClusterStepModels, et as defineCustomActions, f as FULL_IMAGE_BBOX, ft as pipelineAnalyticsCapability, g as NC_CONDITION_CATALOG, h as NC_ALARM_SYSTEM_EVENT_KINDS, ht as readTimelapseGeneratedAt, i as CLUSTER_MODEL_SCOPED_STEPS, it as faceGalleryCapability, j as OpsLogEntrySchema, jt as _enum, k as NcSystemEventKindSchema, kt as nodePin, l as DeclaredDevices, lt as notificationRulesCapability, m as MACRO_LABELS, mt as readDeviceStateFrom, n as AnalyticsGroupRecordSchema, ot as isDetectionMacroClass, p as LabelAttributionSchema, pt as plateGalleryCapability, q as alarmPanelCapability, r as BaseDevice, rt as encodeVectorBase64, s as DETECTION_MACRO_CLASSES, st as isScheduleActive, t as AnalyticsGroupDetailSchema, tt as deriveRecordingMode, u as EVENT_KIND_BY_CAP, vt as subKindsOf, w as NcRuleTargetSchema, wt as BaseAddon, x as NcRuleInputSchema, xt as videoclipsCapability, y as NC_TAXONOMY, yt as systemEventFilterApplies, z as SceneMonitorSchema, zt as record } from "../dist-BAN19J7s.mjs";
|
|
2
2
|
import { t as __exportAll } from "../embedding-encoder/index.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import { promises } from "node:fs";
|
|
@@ -28997,9 +28997,18 @@ function pairRiders(detections) {
|
|
|
28997
28997
|
}
|
|
28998
28998
|
//#endregion
|
|
28999
28999
|
//#region src/pipeline-analytics/pipeline/tracker/rescue-growth.ts
|
|
29000
|
-
/**
|
|
29001
|
-
*
|
|
29002
|
-
|
|
29000
|
+
/**
|
|
29001
|
+
* How far the grown box's centroid may sit, as a multiple of the **TRACK's own**
|
|
29002
|
+
* diagonal. It was a multiple of the LARGER of the two diagonals until
|
|
29003
|
+
* 2026-08-25, which meant the bigger the INTRUDING detection, the further it
|
|
29004
|
+
* could reach to steal an identity. Live track `59dfb972` lost its car that
|
|
29005
|
+
* way: a 386×752 box 574 px away out-reached a 364×385 track purely because it
|
|
29006
|
+
* was 2.07× the area. The reach is now a property of the track alone.
|
|
29007
|
+
*
|
|
29008
|
+
* 2.3 covers the live `4285605a` bird→dog jump (74.7 px over a 35.8 px crop
|
|
29009
|
+
* diagonal = 2.085) with the same ~10% headroom the old 1.35 gave it.
|
|
29010
|
+
*/
|
|
29011
|
+
var GROWTH_CENTROID_FACTOR = 2.3;
|
|
29003
29012
|
function intersectionArea(a, b) {
|
|
29004
29013
|
const x1 = Math.max(a.x, b.x);
|
|
29005
29014
|
const y1 = Math.max(a.y, b.y);
|
|
@@ -29008,11 +29017,30 @@ function intersectionArea(a, b) {
|
|
|
29008
29017
|
if (x2 <= x1 || y2 <= y1) return 0;
|
|
29009
29018
|
return (x2 - x1) * (y2 - y1);
|
|
29010
29019
|
}
|
|
29011
|
-
/**
|
|
29012
|
-
*
|
|
29013
|
-
*
|
|
29014
|
-
*
|
|
29015
|
-
|
|
29020
|
+
/**
|
|
29021
|
+
* Same-class partial crop growing into (or collapsing from) a full-body box
|
|
29022
|
+
* with IoU 0. Used by rescue and spawn-dedup so we do not mint a second id.
|
|
29023
|
+
* A SMALL box nested inside a LARGE one is occlusion, not growth — those
|
|
29024
|
+
* stay two tracks (sort-tracker occlusion suite).
|
|
29025
|
+
*
|
|
29026
|
+
* **Geometry alone cannot make this gate safe, and that is measured, not
|
|
29027
|
+
* assumed.** The two live cases:
|
|
29028
|
+
*
|
|
29029
|
+
* | case | dist | trackDiag | dist/trackDiag | dist/maxDiag | dt | trackDiag/s |
|
|
29030
|
+
* | --- | ---: | ---: | ---: | ---: | ---: | ---: |
|
|
29031
|
+
* | `4285605a` bird→dog (KEEP) | 74.7 | 35.8 | 2.085 | 1.238 | 170 ms | 12.26 |
|
|
29032
|
+
* | `59dfb972` car A→car B (REJECT) | 573.8 | 529.8 | 1.083 | 0.679 | 106 ms | 10.22 |
|
|
29033
|
+
*
|
|
29034
|
+
* The theft is a *milder* jump than the case the gate exists for, in EVERY
|
|
29035
|
+
* scale-relative measure — and still milder once divided by elapsed time. A
|
|
29036
|
+
* scale-invariant geometric predicate that accepts the bird therefore MUST
|
|
29037
|
+
* accept the car; so must a speed cap expressed in track-diagonals per second.
|
|
29038
|
+
* The separator has to be something other than the shape of the two boxes, and
|
|
29039
|
+
* the one that holds is track MATURITY ({@link GROWTH_MAX_TRACK_AGE_MS}).
|
|
29040
|
+
*/
|
|
29041
|
+
function growthAdjacentMatch(track, det, ctx) {
|
|
29042
|
+
if (ctx.trackAgeMs > 1500) return false;
|
|
29043
|
+
if (ctx.gapMs > 1e3) return false;
|
|
29016
29044
|
const trackArea = track.w * track.h;
|
|
29017
29045
|
const detArea = det.w * det.h;
|
|
29018
29046
|
if (trackArea <= 0 || detArea <= 0) return false;
|
|
@@ -29022,8 +29050,24 @@ function growthAdjacentMatch(track, det) {
|
|
|
29022
29050
|
if (intersectionArea(track, det) / smaller >= .5) return false;
|
|
29023
29051
|
const tc = bboxCentroid(track);
|
|
29024
29052
|
const dc = bboxCentroid(det);
|
|
29025
|
-
return Math.hypot(tc.x - dc.x, tc.y - dc.y) <= GROWTH_CENTROID_FACTOR * Math.
|
|
29053
|
+
return Math.hypot(tc.x - dc.x, tc.y - dc.y) <= GROWTH_CENTROID_FACTOR * Math.hypot(track.w, track.h);
|
|
29026
29054
|
}
|
|
29055
|
+
/** Per-(stage, gate) counter + sampling decision. One instance per tracker, so
|
|
29056
|
+
* the counts are per camera and per detection source. */
|
|
29057
|
+
var LooseBindSampler = class {
|
|
29058
|
+
counts = /* @__PURE__ */ new Map();
|
|
29059
|
+
/** Increment the (stage, gate) counter and answer with the running total when
|
|
29060
|
+
* this decision should be reported, or `undefined` when it is sampled out. */
|
|
29061
|
+
next(stage, gate) {
|
|
29062
|
+
const key = `${stage}|${gate}`;
|
|
29063
|
+
const count = (this.counts.get(key) ?? 0) + 1;
|
|
29064
|
+
this.counts.set(key, count);
|
|
29065
|
+
if (count === 1 || count % 50 === 0) return count;
|
|
29066
|
+
}
|
|
29067
|
+
reset() {
|
|
29068
|
+
this.counts.clear();
|
|
29069
|
+
}
|
|
29070
|
+
};
|
|
29027
29071
|
//#endregion
|
|
29028
29072
|
//#region src/pipeline-analytics/pipeline/tracker/sort-tracker.ts
|
|
29029
29073
|
var DEFAULT_TRACKER_CONFIG = {
|
|
@@ -29101,12 +29145,62 @@ var SortTracker = class SortTracker {
|
|
|
29101
29145
|
* moment the pair stops overlapping and are pruned when either track dies.
|
|
29102
29146
|
*/
|
|
29103
29147
|
dupStreaks = /* @__PURE__ */ new Map();
|
|
29148
|
+
/** Per-(stage, gate) counters behind the sampled salvage-bind diagnostics. */
|
|
29149
|
+
bindSampler = new LooseBindSampler();
|
|
29150
|
+
/** Sink for salvage-bind diagnostics. Null until an owner that knows the
|
|
29151
|
+
* `deviceId` wires one — see {@link setBindObserver}. */
|
|
29152
|
+
bindObserver = null;
|
|
29104
29153
|
constructor(config = {}) {
|
|
29105
29154
|
this.config = {
|
|
29106
29155
|
...DEFAULT_TRACKER_CONFIG,
|
|
29107
29156
|
...config
|
|
29108
29157
|
};
|
|
29109
29158
|
}
|
|
29159
|
+
/**
|
|
29160
|
+
* Wire the diagnostics sink for the salvage branches (rescue, resurrection,
|
|
29161
|
+
* growth spawn-dedup). The tracker has no `deviceId`; the caller that does
|
|
29162
|
+
* stamps it on the log line. Stage 1 is never reported — it runs per track
|
|
29163
|
+
* per frame at frame-rate.
|
|
29164
|
+
*/
|
|
29165
|
+
setBindObserver(observer) {
|
|
29166
|
+
this.bindObserver = observer;
|
|
29167
|
+
}
|
|
29168
|
+
/** Emit one salvage decision, subject to {@link LOOSE_BIND_LOG_SAMPLE_EVERY}.
|
|
29169
|
+
* Nothing is computed when no observer is wired. */
|
|
29170
|
+
reportBind(stage, gate, track, det, timestamp) {
|
|
29171
|
+
const observer = this.bindObserver;
|
|
29172
|
+
if (!observer) return;
|
|
29173
|
+
const bindCount = this.bindSampler.next(stage, gate);
|
|
29174
|
+
if (bindCount === void 0) return;
|
|
29175
|
+
const tc = bboxCentroid(track.bbox);
|
|
29176
|
+
const dc = bboxCentroid(det.bbox);
|
|
29177
|
+
const trackArea = track.bbox.w * track.bbox.h;
|
|
29178
|
+
const detArea = det.bbox.w * det.bbox.h;
|
|
29179
|
+
const smaller = Math.min(trackArea, detArea);
|
|
29180
|
+
observer({
|
|
29181
|
+
stage,
|
|
29182
|
+
gate,
|
|
29183
|
+
trackId: track.id,
|
|
29184
|
+
trackClass: track.class,
|
|
29185
|
+
detClass: det.class,
|
|
29186
|
+
detScore: det.score,
|
|
29187
|
+
iou: iou$2(track.bbox, det.bbox),
|
|
29188
|
+
centroidDistPx: Math.hypot(tc.x - dc.x, tc.y - dc.y),
|
|
29189
|
+
trackDiagPx: Math.hypot(track.bbox.w, track.bbox.h),
|
|
29190
|
+
areaRatio: smaller > 0 ? Math.max(trackArea, detArea) / smaller : 0,
|
|
29191
|
+
dtMs: timestamp - track.lastSeen,
|
|
29192
|
+
trackAgeMs: timestamp - track.firstSeen,
|
|
29193
|
+
bindCount,
|
|
29194
|
+
sampledEvery: 50
|
|
29195
|
+
});
|
|
29196
|
+
}
|
|
29197
|
+
/** When the pair is being judged, relative to `track`. */
|
|
29198
|
+
static growthContext(track, timestamp) {
|
|
29199
|
+
return {
|
|
29200
|
+
trackAgeMs: timestamp - track.firstSeen,
|
|
29201
|
+
gapMs: timestamp - track.lastSeen
|
|
29202
|
+
};
|
|
29203
|
+
}
|
|
29110
29204
|
/** Whether two macro-classes may be collapsed as the SAME subject. Same class
|
|
29111
29205
|
* always; the {person,animal} pair only when `personAnimalDedup` is on. */
|
|
29112
29206
|
dedupCompatible(a, b) {
|
|
@@ -29151,8 +29245,15 @@ var SortTracker = class SortTracker {
|
|
|
29151
29245
|
* set of tracks already surviving this frame (matched, coasting, resurrected,
|
|
29152
29246
|
* and earlier same-frame spawns).
|
|
29153
29247
|
*/
|
|
29154
|
-
isDuplicateSpawn(det, live) {
|
|
29155
|
-
for (const t of live)
|
|
29248
|
+
isDuplicateSpawn(det, live, timestamp) {
|
|
29249
|
+
for (const t of live) {
|
|
29250
|
+
if (!this.dedupCompatible(t.class, det.class)) continue;
|
|
29251
|
+
if (iou$2(det.bbox, t.bbox) >= this.config.dedupSpawnIou) return true;
|
|
29252
|
+
if (growthAdjacentMatch(t.bbox, det.bbox, SortTracker.growthContext(t, timestamp))) {
|
|
29253
|
+
this.reportBind("spawn-dedup", "growth", t, det, timestamp);
|
|
29254
|
+
return true;
|
|
29255
|
+
}
|
|
29256
|
+
}
|
|
29156
29257
|
if (this.config.personAnimalDedup && det.class === ANIMAL_CLASS && det.score < this.config.animalOverPersonMaxScore) {
|
|
29157
29258
|
for (const t of live) if (t.class === PERSON_CLASS && iou$2(det.bbox, t.bbox) >= this.config.animalOverPersonIou) return true;
|
|
29158
29259
|
}
|
|
@@ -29239,15 +29340,36 @@ var SortTracker = class SortTracker {
|
|
|
29239
29340
|
* crouch→animal flip when `classGroupAssoc` is on, but never by an unrelated
|
|
29240
29341
|
* class.
|
|
29241
29342
|
*/
|
|
29242
|
-
looseMatch(track, det) {
|
|
29243
|
-
if (this.assocGroup(track.class) !== this.assocGroup(det.class)) return
|
|
29244
|
-
if (iou$2(track.bbox, det.bbox) >= this.config.rescueIouThreshold) return
|
|
29343
|
+
looseMatch(track, det, timestamp) {
|
|
29344
|
+
if (this.assocGroup(track.class) !== this.assocGroup(det.class)) return null;
|
|
29345
|
+
if (iou$2(track.bbox, det.bbox) >= this.config.rescueIouThreshold) return "iou";
|
|
29245
29346
|
const tc = bboxCentroid(track.bbox);
|
|
29246
29347
|
const dc = bboxCentroid(det.bbox);
|
|
29247
29348
|
const dist = Math.hypot(tc.x - dc.x, tc.y - dc.y);
|
|
29248
29349
|
const diag = Math.hypot(track.bbox.w, track.bbox.h);
|
|
29249
|
-
if (dist <= this.config.rescueCentroidFactor * diag) return
|
|
29250
|
-
|
|
29350
|
+
if (dist <= this.config.rescueCentroidFactor * diag) return "centroid";
|
|
29351
|
+
if (growthAdjacentMatch(track.bbox, det.bbox, SortTracker.growthContext(track, timestamp))) return "growth";
|
|
29352
|
+
return null;
|
|
29353
|
+
}
|
|
29354
|
+
/**
|
|
29355
|
+
* Whether `det` would mint a track of its own if no salvage branch claimed it:
|
|
29356
|
+
* it clears BOTH spawn floors (per-class score, per-class bbox-area fraction).
|
|
29357
|
+
*
|
|
29358
|
+
* A rescue that rests on PROXIMITY ALONE — the `centroid` clause, reached only
|
|
29359
|
+
* when the overlap is already below `rescueIouThreshold` — must lose to such a
|
|
29360
|
+
* detection. Live track `27855a56` bound a second car 452 px away at IoU 0.058
|
|
29361
|
+
* purely because 452 ≤ 0.75 × the 589×445 track diagonal; the box it stole was
|
|
29362
|
+
* a full-size, floor-clearing vehicle that would have spawned perfectly well
|
|
29363
|
+
* on its own. **A spare track costs media; a stolen track corrupts the plate,
|
|
29364
|
+
* the travelled distance and the last frame of the track it was taken from.**
|
|
29365
|
+
*
|
|
29366
|
+
* The `iou` clause is untouched (real overlap IS evidence), and so is `growth`
|
|
29367
|
+
* — that one is bounded by track maturity inside `growthAdjacentMatch`, and a
|
|
29368
|
+
* partial crop is by construction the same subject, so refusing it here would
|
|
29369
|
+
* re-fragment `4285605a`.
|
|
29370
|
+
*/
|
|
29371
|
+
isPlausibleBirth(det, frameArea) {
|
|
29372
|
+
return this.meetsClassScoreFloor(det) && this.meetsSpawnAreaFloor(det, frameArea);
|
|
29251
29373
|
}
|
|
29252
29374
|
/** Fold a matched detection's class + score into a track's lifetime vote
|
|
29253
29375
|
* tally. A non-positive score still counts as an infinitesimal vote so a
|
|
@@ -29361,20 +29483,25 @@ var SortTracker = class SortTracker {
|
|
|
29361
29483
|
for (let di = 0; di < detections.length; di++) {
|
|
29362
29484
|
if (used.has(di) || lowSet.has(di)) continue;
|
|
29363
29485
|
const det = detections[di];
|
|
29364
|
-
|
|
29486
|
+
const gate = this.looseMatch(track, det, timestamp);
|
|
29487
|
+
if (gate === null) continue;
|
|
29488
|
+
if (gate === "centroid" && this.isPlausibleBirth(det, frameArea)) continue;
|
|
29365
29489
|
rescuePairs.push({
|
|
29366
29490
|
track,
|
|
29367
29491
|
detIdx: di,
|
|
29368
|
-
score: iou$2(track.bbox, det.bbox)
|
|
29492
|
+
score: iou$2(track.bbox, det.bbox),
|
|
29493
|
+
gate
|
|
29369
29494
|
});
|
|
29370
29495
|
}
|
|
29371
29496
|
}
|
|
29372
29497
|
rescuePairs.sort((a, b) => b.score - a.score);
|
|
29373
29498
|
for (const pair of rescuePairs) {
|
|
29374
29499
|
if (matchedTracks.has(pair.track) || used.has(pair.detIdx)) continue;
|
|
29375
|
-
|
|
29500
|
+
const det = detections[pair.detIdx];
|
|
29501
|
+
matched.set(pair.track, det);
|
|
29376
29502
|
matchedTracks.add(pair.track);
|
|
29377
29503
|
used.add(pair.detIdx);
|
|
29504
|
+
this.reportBind("rescue", pair.gate, pair.track, det, timestamp);
|
|
29378
29505
|
}
|
|
29379
29506
|
if (this.config.byteTrackEnabled && lowIdxs.length > 0) this.greedyAssociate(detections, lowIdxs, this.config.byteTrackLowIouThreshold, used, matchedTracks, matched);
|
|
29380
29507
|
for (const [track, det] of matched) {
|
|
@@ -29428,17 +29555,22 @@ var SortTracker = class SortTracker {
|
|
|
29428
29555
|
const det = detections[di];
|
|
29429
29556
|
let best;
|
|
29430
29557
|
let bestScore = -1;
|
|
29558
|
+
let bestGate = "iou";
|
|
29431
29559
|
for (const lost of this.lostTracks) {
|
|
29432
29560
|
if (!lost.resurrectable) continue;
|
|
29433
29561
|
if (timestamp - lost.lostAt > this.config.resurrectionWindowMs) continue;
|
|
29434
|
-
|
|
29562
|
+
const gate = this.looseMatch(lost, det, timestamp);
|
|
29563
|
+
if (gate === null) continue;
|
|
29564
|
+
if (gate === "centroid" && this.isPlausibleBirth(det, frameArea)) continue;
|
|
29435
29565
|
const score = iou$2(lost.bbox, det.bbox);
|
|
29436
29566
|
if (score > bestScore) {
|
|
29437
29567
|
best = lost;
|
|
29438
29568
|
bestScore = score;
|
|
29569
|
+
bestGate = gate;
|
|
29439
29570
|
}
|
|
29440
29571
|
}
|
|
29441
29572
|
if (!best) continue;
|
|
29573
|
+
this.reportBind("resurrection", bestGate, best, det, timestamp);
|
|
29442
29574
|
this.lostTracks = this.lostTracks.filter((t) => t !== best);
|
|
29443
29575
|
best.bbox = det.bbox;
|
|
29444
29576
|
best.class = det.class;
|
|
@@ -29478,7 +29610,7 @@ var SortTracker = class SortTracker {
|
|
|
29478
29610
|
continue;
|
|
29479
29611
|
}
|
|
29480
29612
|
if (this.config.occlusionEnabled && occluderBoxes.some((ob) => containment(det.bbox, ob) >= this.config.occlusionContainment)) continue;
|
|
29481
|
-
if (this.config.dedupEnabled && this.isDuplicateSpawn(det, surviving)) {
|
|
29613
|
+
if (this.config.dedupEnabled && this.isDuplicateSpawn(det, surviving, timestamp)) {
|
|
29482
29614
|
used.add(di);
|
|
29483
29615
|
continue;
|
|
29484
29616
|
}
|
|
@@ -29537,6 +29669,7 @@ var SortTracker = class SortTracker {
|
|
|
29537
29669
|
this.tracks = [];
|
|
29538
29670
|
this.lostTracks = [];
|
|
29539
29671
|
this.dupStreaks.clear();
|
|
29672
|
+
this.bindSampler.reset();
|
|
29540
29673
|
}
|
|
29541
29674
|
};
|
|
29542
29675
|
//#endregion
|
|
@@ -29953,6 +30086,16 @@ var FrameProcessor = class {
|
|
|
29953
30086
|
setStationaryGate(gate) {
|
|
29954
30087
|
this.stationaryGate = gate;
|
|
29955
30088
|
}
|
|
30089
|
+
/**
|
|
30090
|
+
* Wire (or clear) the tracker's salvage-bind diagnostics sink. The tracker
|
|
30091
|
+
* itself knows no `deviceId`; the addon that owns this processor stamps
|
|
30092
|
+
* `tags: { deviceId }` on the line — see the wiring in `pipeline-analytics`.
|
|
30093
|
+
* Only the rescue / resurrection / growth branches report, and they report
|
|
30094
|
+
* sampled: stage 1 runs per track per frame at frame-rate.
|
|
30095
|
+
*/
|
|
30096
|
+
setBindObserver(observer) {
|
|
30097
|
+
this.tracker.setBindObserver(observer);
|
|
30098
|
+
}
|
|
29956
30099
|
/** Forget a track in the underlying tracker (used when the addon promotes it
|
|
29957
30100
|
* to a stationary-object registry entry). */
|
|
29958
30101
|
dropTrack(trackId) {
|
|
@@ -34874,6 +35017,70 @@ async function makeSquareThumb(bytes, size) {
|
|
|
34874
35017
|
}).jpeg({ quality: THUMB_QUALITY }).toBuffer();
|
|
34875
35018
|
}
|
|
34876
35019
|
//#endregion
|
|
35020
|
+
//#region src/pipeline-analytics/track-media-scope.ts
|
|
35021
|
+
/** The stored kind a detail owner's crop is written with. */
|
|
35022
|
+
var STORED_DETAIL_CROP_KIND = "crop";
|
|
35023
|
+
/** The kinds only a detail owner can produce. */
|
|
35024
|
+
var DETAIL_CROP_KINDS = ["faceCrop", "plateCrop"];
|
|
35025
|
+
/**
|
|
35026
|
+
* Every owner that holds media for `trackId`, in publication order (the track's
|
|
35027
|
+
* own rows first, then face, then plate).
|
|
35028
|
+
*/
|
|
35029
|
+
function trackMediaOwnerScopes(trackId) {
|
|
35030
|
+
return [
|
|
35031
|
+
{
|
|
35032
|
+
ownerKind: "track",
|
|
35033
|
+
ownerId: trackId,
|
|
35034
|
+
publishCropAs: null
|
|
35035
|
+
},
|
|
35036
|
+
{
|
|
35037
|
+
ownerKind: "face",
|
|
35038
|
+
ownerId: `${FACE_MEDIA_OWNER_PREFIX}${trackId}`,
|
|
35039
|
+
publishCropAs: "faceCrop"
|
|
35040
|
+
},
|
|
35041
|
+
{
|
|
35042
|
+
ownerKind: "plate",
|
|
35043
|
+
ownerId: `${PLATE_MEDIA_OWNER_PREFIX}${trackId}`,
|
|
35044
|
+
publishCropAs: "plateCrop"
|
|
35045
|
+
}
|
|
35046
|
+
];
|
|
35047
|
+
}
|
|
35048
|
+
/**
|
|
35049
|
+
* The scopes worth READING for a `kinds`-filtered request.
|
|
35050
|
+
*
|
|
35051
|
+
* A detail owner can only ever publish `faceCrop` / `plateCrop`, so a request
|
|
35052
|
+
* that names neither is answered without opening those two owners — which is
|
|
35053
|
+
* what keeps the common per-entry fetch (`kinds: ['keyFrameSmall']`) at exactly
|
|
35054
|
+
* its previous cost. The track scope is never skipped: it is the only owner
|
|
35055
|
+
* whose kinds are open-ended, and dropping it on a guess is how a listing
|
|
35056
|
+
* starts lying about what a track has.
|
|
35057
|
+
*/
|
|
35058
|
+
function trackMediaScopesForKinds(trackId, kinds) {
|
|
35059
|
+
const scopes = trackMediaOwnerScopes(trackId);
|
|
35060
|
+
if (kinds === void 0 || kinds.length === 0) return scopes;
|
|
35061
|
+
return kinds.some((kind) => DETAIL_CROP_KINDS.includes(kind)) ? scopes : scopes.filter((scope) => scope.publishCropAs === null);
|
|
35062
|
+
}
|
|
35063
|
+
/**
|
|
35064
|
+
* Fold every scope's rows into ONE track media listing: detail crops
|
|
35065
|
+
* relabelled, everything filtered to `kinds`, ordered oldest first.
|
|
35066
|
+
*
|
|
35067
|
+
* `relabel` is injected rather than spread inline so the caller keeps its own
|
|
35068
|
+
* concrete row type (`MediaFile` with bytes, `MediaFileInfo` without) — there
|
|
35069
|
+
* is no cast and no third shape in between.
|
|
35070
|
+
*/
|
|
35071
|
+
function collectTrackMedia(scoped, relabel, kinds) {
|
|
35072
|
+
const out = [];
|
|
35073
|
+
for (const { scope, rows } of scoped) for (const row of rows) {
|
|
35074
|
+
if (scope.publishCropAs === null) {
|
|
35075
|
+
out.push(row);
|
|
35076
|
+
continue;
|
|
35077
|
+
}
|
|
35078
|
+
if (row.kind !== STORED_DETAIL_CROP_KIND) continue;
|
|
35079
|
+
out.push(relabel(row, scope.publishCropAs));
|
|
35080
|
+
}
|
|
35081
|
+
return (kinds === void 0 || kinds.length === 0 ? out : out.filter((row) => kinds.includes(row.kind))).toSorted((a, b) => a.timestamp - b.timestamp);
|
|
35082
|
+
}
|
|
35083
|
+
//#endregion
|
|
34877
35084
|
//#region src/pipeline-analytics/zone-name-stamp.ts
|
|
34878
35085
|
/**
|
|
34879
35086
|
* Copy each track with `zoneNames` stamped on.
|
|
@@ -34993,10 +35200,25 @@ var AnalyticsQueryFacade = class {
|
|
|
34993
35200
|
const all = await (this.deps.mediaStore()?.listByOwner("event", input.eventId, input.deviceId) ?? Promise.resolve([]));
|
|
34994
35201
|
return input.kind ? all.filter((m) => m.kind === input.kind) : all;
|
|
34995
35202
|
}
|
|
35203
|
+
/**
|
|
35204
|
+
* A track's media WITH the bytes, restricted to `kinds` when given.
|
|
35205
|
+
*
|
|
35206
|
+
* Reads every owner a track's media lives under — its own rows plus the face
|
|
35207
|
+
* and plate detail crops, whose stored `kind: 'crop'` is published as
|
|
35208
|
+
* `faceCrop` / `plateCrop`. See `track-media-scope.ts` for why the rename
|
|
35209
|
+
* happens on the way out and not in the caller's question.
|
|
35210
|
+
*/
|
|
34996
35211
|
async getTrackMedia(input) {
|
|
34997
|
-
const
|
|
34998
|
-
|
|
34999
|
-
|
|
35212
|
+
const store = this.deps.mediaStore();
|
|
35213
|
+
if (store === null) return [];
|
|
35214
|
+
const scopes = trackMediaScopesForKinds(input.trackId, input.kinds);
|
|
35215
|
+
return collectTrackMedia(await Promise.all(scopes.map(async (scope) => ({
|
|
35216
|
+
scope,
|
|
35217
|
+
rows: await store.listByOwner(scope.ownerKind, scope.ownerId, input.deviceId)
|
|
35218
|
+
}))), (row, kind) => ({
|
|
35219
|
+
...row,
|
|
35220
|
+
kind
|
|
35221
|
+
}), input.kinds);
|
|
35000
35222
|
}
|
|
35001
35223
|
/**
|
|
35002
35224
|
* A track's media WITHOUT the bytes.
|
|
@@ -35006,9 +35228,21 @@ var AnalyticsQueryFacade = class {
|
|
|
35006
35228
|
* that path reads every blob off disk and base64-encodes it first, so the
|
|
35007
35229
|
* response would shrink while the work did not. Measured: 7.67 MB read and
|
|
35008
35230
|
* ~10 MB of string allocated, to answer a question the index already holds.
|
|
35231
|
+
*
|
|
35232
|
+
* Covers the same owners as {@link getTrackMedia} — a manifest that listed
|
|
35233
|
+
* fewer keys than the byte read can serve (or more) is the disagreement the
|
|
35234
|
+
* viewer's per-entry loader turns into a red triangle.
|
|
35009
35235
|
*/
|
|
35010
35236
|
async listTrackMedia(input) {
|
|
35011
|
-
|
|
35237
|
+
const store = this.deps.mediaStore();
|
|
35238
|
+
if (store === null) return [];
|
|
35239
|
+
return collectTrackMedia(await Promise.all(trackMediaOwnerScopes(input.trackId).map(async (scope) => ({
|
|
35240
|
+
scope,
|
|
35241
|
+
rows: await store.listInfoByOwner(scope.ownerKind, scope.ownerId, input.deviceId)
|
|
35242
|
+
}))), (row, kind) => ({
|
|
35243
|
+
...row,
|
|
35244
|
+
kind
|
|
35245
|
+
}), void 0);
|
|
35012
35246
|
}
|
|
35013
35247
|
async pruneEventsBefore(input) {
|
|
35014
35248
|
const eventStore = this.deps.eventStore();
|
|
@@ -64719,6 +64953,15 @@ var PipelineAnalyticsAddon = class PipelineAnalyticsAddon extends BaseAddon {
|
|
|
64719
64953
|
cooldownSec,
|
|
64720
64954
|
minTrackAgeMs: trk.minTrackAgeMs
|
|
64721
64955
|
}, source);
|
|
64956
|
+
p.setBindObserver((record) => {
|
|
64957
|
+
this.ctx.logger.debug("tracker: salvage bind", {
|
|
64958
|
+
tags: { deviceId },
|
|
64959
|
+
meta: {
|
|
64960
|
+
source,
|
|
64961
|
+
...record
|
|
64962
|
+
}
|
|
64963
|
+
});
|
|
64964
|
+
});
|
|
64722
64965
|
p.setTrackLabelState((trackId) => {
|
|
64723
64966
|
const active = this.trackStore?.getActiveByTrack(trackId);
|
|
64724
64967
|
return active !== null && active !== void 0 ? {
|
|
@@ -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-CnLNNc0Y.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.2.
|
|
3
|
+
"version": "1.2.135",
|
|
4
4
|
"description": "Post-Analysis bundle — enrichment, embedding-encoder, pipeline-analytics. Multi-entry npm package shipping addons that consume pipeline output.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"entry": "./dist/pipeline-analytics/index.js",
|
|
68
68
|
"execution": {
|
|
69
69
|
"placement": "any-node",
|
|
70
|
-
"heapProfile": "heavy"
|
|
70
|
+
"heapProfile": "heavy",
|
|
71
|
+
"rssBudgetMb": 2048
|
|
71
72
|
},
|
|
72
73
|
"protected": true,
|
|
73
74
|
"capabilities": [
|
|
@@ -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.AutomationHeroCard, e.AutomationInlineControl, 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.CARD_MODE_MIN_COLUMNS, 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.Camera, 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.DeviceMultiSelectField, e.DeviceSelectField, e.DeviceSelectorPicker, e.DeviceStepMatrix, e.Dialog, e.DialogBody, 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.EVENT_KIND_ICONS, e.EmptyState, e.ErrorBox, e.EventKindGlyph, 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.GroupedModelSelector, e.HOST_WIDGETS, e.HlsVideo, e.HoverZoomImage, e.HumidifierHeroCard, e.HumidifierInlineControl, e.INPUT_COMPACT, e.IconAction, e.IconButton, e.ImageHeroCard, e.ImageInlineControl, e.ImageOff, 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.Mic, e.MobileDrawer, e.ModelPicker, 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.RECONNECT_POLICY, e.RECORDED_PLAYBACK_MODES, e.RIGHT, e.ROI_AREA_WARN_FRACTION, e.ROLE_DESCRIPTOR, e.RadialGauge, e.RecordedPlaybackProvider, e.RecordingPanel, e.ResponseLog, e.RotateCcw, e.SCENE_CAPTURE_VARIANTS, e.SCENE_CAPTURE_VARIANTS$1, e.SECTION_BODY, e.SECTION_CARD, e.SECTION_HEADER, e.SETTING_ROW, e.SETTING_ROW_LABEL, e.SETTING_ROW_STACK_BREAKPOINT, e.SETTING_ROW_VALUE, e.SETTING_ROW_VALUE_TEXT, e.SPLIT_PANEL_OUTER, e.SPLIT_PANEL_SIDE, o = e.STACK_GAP, e.STATE_COLOR, e.SceneMonitorEditor, e.ScopePicker, e.ScriptHeroCard, e.ScriptInlineControl, e.ScrollArea, e.Select, e.SemanticBadge, e.SensorHeroCard, e.SensorInlineControl, e.SensorValueAtom, e.Separator, e.SettingRow, 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.TABLE_SCROLL_MAX_H, 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.agentColumnKey, e.allDeviceTypeFilterOptions, e.badgeFor, e.badgeFor$1, e.buildStepTreeFromSchema, e.childEntityId, e.childListName, e.cn, e.columnsForContext, e.containerChildToRef, e.countableDevices, e.coverHighlight, e.coverageLine, e.coverageLine$1, e.createLucideIcon, e.createSharedContext, e.createTheme, e.cursorFractionFor, e.darkColors, e.defaultTheme, e.deriveDeviceKind, e.describeDeviceSelector, e.deviceMatchesFilter, e.deviceOptionLabel, e.deviceRoleMeta, e.deviceRoleMetaOf, e.deviceTypeLabel, e.deviceTypeMeta, e.deviceTypeMetaOf, e.devicesToOptions, e.ensureMfHostInit, e.eventKindLabel, e.filterDeviceOptions, e.findTimezone, e.formatControlDateTime, e.formatLastSeen, e.formatNumeric, e.fuzzyMatch, e.getClassColor, e.getPhaseVisual, e.groupAgentColumns, e.groupChildrenByLayout, e.hardwareLabel, e.humanDuration, 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.nextReconnectAction, e.nextSort, e.normalizeForSearch, e.overrideEntityIdFromLink, e.parseRecordedServerMessage, e.providerIcons, e.resolveContainerPrimary, e.resolveControlAlign, e.resolveDeviceControl, e.resolveDisplayIcon, e.resolveEffectiveDefaultModel, e.resolveEffectiveStepModel, e.resolveEventKindIcon, e.resolvePrimaryChild, e.resolveSensorDisplay, e.resolveStepDefaultModel, e.resolveTableLayout, e.roiTooLarge, e.roiTooLarge$1, e.scrubReducer, e.selectedDeviceOptions, e.serializeRecordedCommand, e.shouldCommit, e.shouldEmit, e.shouldUseSingleNode, e.sortRows, e.statusIcons, e.statusLine, e.statusLine$1, e.stepHasModelForFormat, e.stepModelOptions, e.stripParentNamePrefix, e.tabForSelector, 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.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.useBackupDeleteSchedule, e.useBackupGetEntries, e.useBackupList, e.useBackupListArchives, e.useBackupListDestinations, e.useBackupListLocations, e.useBackupListSchedules, e.useBackupPreviewSchedule, e.useBackupRestore, e.useBackupTrigger, e.useBackupUpsertDestinationPolicy, e.useBackupUpsertSchedule, 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.useConnectionTestDescribeTest, e.useConnectionTestTestSettings, e.useConnectivityGetStatus, e.useConsumablesGetStatus, e.useConsumablesReset, e.useContactGetStatus, e.useContainerChildren, e.useControlGetStatus, e.useControlSetValue, e.useCoreBlocksCompile, e.useCoreBlocksCreate, e.useCoreBlocksDelete, e.useCoreBlocksGet, e.useCoreBlocksGetTypeDefs, e.useCoreBlocksList, e.useCoreBlocksRestart, e.useCoreBlocksSetEnabled, e.useCoreBlocksUpdate, 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.useDeviceManagerAdoptionCancelJob, e.useDeviceManagerAdoptionListCandidateFilters, e.useDeviceManagerAdoptionListCandidates, e.useDeviceManagerAdoptionListJobs, e.useDeviceManagerAdoptionRefresh, e.useDeviceManagerAdoptionRelease, e.useDeviceManagerAdoptionResync, e.useDeviceManagerAdoptionStartJob, e.useDeviceManagerAllocateDeviceId, e.useDeviceManagerApplyDeviceSettingsPatch, e.useDeviceManagerApplyInitialMeta, e.useDeviceManagerCreateDevice, e.useDeviceManagerDisable, e.useDeviceManagerDiscoverAllProviders, e.useDeviceManagerDiscoverDevices, e.useDeviceManagerDiscoverProvider, e.useDeviceManagerDiscoveryProviders, e.useDeviceManagerEnable, e.useDeviceManagerGetAllBindings, e.useDeviceManagerGetBindings, e.useDeviceManagerGetBindingsBatch, e.useDeviceManagerGetChildren, e.useDeviceManagerGetChildrenBatch, e.useDeviceManagerGetConfigSchema, e.useDeviceManagerGetCreationSchema, e.useDeviceManagerGetDevice, e.useDeviceManagerGetDeviceAggregate, e.useDeviceManagerGetDeviceLiveContribution, e.useDeviceManagerGetDeviceLiveInfoAggregate, e.useDeviceManagerGetDeviceSettingsAggregate, e.useDeviceManagerGetDeviceSettingsContribution, e.useDeviceManagerGetDeviceStatusAggregate, e.useDeviceManagerGetDeviceStatusAggregateBatch, e.useDeviceManagerGetLinkedDevices, e.useDeviceManagerGetLinkedDevicesBatch, 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.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, e.useDeviceSnapshotImage$1, l = e.useDeviceState, e.useDeviceStateGetAllSnapshots, e.useDeviceStateGetCapSlice, e.useDeviceStateGetSnapshot, e.useDeviceStateSetCapSlice, u = e.useDeviceStateSlice, e.useDeviceStateSlice$1, e.useDeviceStatusGetStatus, e.useDeviceWebrtc, e.useDevices, e.useDoorbellApplyDeviceSettingsPatch, e.useDoorbellEvents, e.useDoorbellGetDeviceLiveContribution, e.useDoorbellGetDeviceSettingsContribution, 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.useLlmCancel, e.useLlmDeleteModel, e.useLlmDeleteProfile, e.useLlmGenerate, e.useLlmGenerateVision, e.useLlmGetDefaults, e.useLlmGetRuntimeStatus, e.useLlmGetUsage, e.useLlmInstallModel, e.useLlmListModelCatalog, e.useLlmListModels, e.useLlmListNodeModels, e.useLlmListProfileKinds, e.useLlmListProfiles, e.useLlmListRuntimeNodes, e.useLlmResolveModelRef, e.useLlmSetDefault, e.useLlmStartRuntime, e.useLlmStopRuntime, e.useLlmTestProfile, e.useLlmUpsertProfile, e.useLocalNetworkDownloadCa, e.useLocalNetworkGetAllowedAddresses, e.useLocalNetworkGetConnectionEndpoints, e.useLocalNetworkGetNotificationEndpoint, e.useLocalNetworkGetPreferred, e.useLocalNetworkGetTlsStatus, e.useLocalNetworkGetViewerEndpoints, e.useLocalNetworkList, e.useLocalNetworkRegenerateCertificate, e.useLocalNetworkResetAllowlistToBestMatch, e.useLocalNetworkRevertToGeneratedCertificate, e.useLocalNetworkSetAllowedAddresses, e.useLocalNetworkSetNotificationEndpoint, e.useLocalNetworkSetViewerEndpoints, e.useLocalNetworkUploadCertificate, 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.useNotificationRulesCancelSnooze, e.useNotificationRulesCreateRule, e.useNotificationRulesCreateSnooze, e.useNotificationRulesDeleteRule, e.useNotificationRulesGetAlarmConfig, e.useNotificationRulesGetConditionCatalog, e.useNotificationRulesGetHistory, e.useNotificationRulesGetRule, e.useNotificationRulesListDeviceMutes, e.useNotificationRulesListRules, e.useNotificationRulesListSnoozes, e.useNotificationRulesResolveArtifactUrl, e.useNotificationRulesSetAlarmConfig, e.useNotificationRulesSetDeviceMuted, e.useNotificationRulesSetRuleEnabled, e.useNotificationRulesTestRule, e.useNotificationRulesUpdateRule, e.useNotifierCancel, e.useNotifierGetStatus, e.useNotifierSend, e.useNumericSensorGetStatus, e.useOptimisticSlice, e.useOptionalSystem, e.useOptionalWidgetRegistry, e.useOsdGetStatus, e.useOsdManagerClearSlotBinding, e.useOsdManagerCopyDeviceConfiguration, e.useOsdManagerGetConditionSupport, e.useOsdManagerGetDeviceOsd, e.useOsdManagerGetSourceCatalog, e.useOsdManagerPreviewSlot, e.useOsdManagerRenderDevice, e.useOsdManagerSetSlotBinding, 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.usePipelineAnalyticsCancelRelocateMedia, e.usePipelineAnalyticsCancelStorageMigrationMove, e.usePipelineAnalyticsClearTracks, e.usePipelineAnalyticsCompleteRetrainTrack, e.usePipelineAnalyticsDeleteDeviceEvents, e.usePipelineAnalyticsDeleteTracks, e.usePipelineAnalyticsDeselectRetrainFrame, e.usePipelineAnalyticsGetActiveTracks, e.usePipelineAnalyticsGetAudioEvents, e.usePipelineAnalyticsGetDeviceLiveContribution, e.usePipelineAnalyticsGetDeviceSettingsContribution, e.usePipelineAnalyticsGetEventDensity, e.usePipelineAnalyticsGetEventMedia, e.usePipelineAnalyticsGetEventStoreFootprint, e.usePipelineAnalyticsGetGroup, e.usePipelineAnalyticsGetKeyEvents, e.usePipelineAnalyticsGetMotionEvents, e.usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, e.usePipelineAnalyticsGetObjectEvents, e.usePipelineAnalyticsGetRetrainExportUrl, e.usePipelineAnalyticsGetRetrainFrameImage, e.usePipelineAnalyticsGetSensorEvents, e.usePipelineAnalyticsGetStorageMigrationMoveStatus, e.usePipelineAnalyticsGetTrack, e.usePipelineAnalyticsGetTrackMedia, e.usePipelineAnalyticsGetTrainingExportSummary, e.usePipelineAnalyticsGetTrainingExportUrl, e.usePipelineAnalyticsListEventKinds, e.usePipelineAnalyticsListEventKindsBatch, e.usePipelineAnalyticsListGroups, e.usePipelineAnalyticsListOpsLog, e.usePipelineAnalyticsListRecentTracks, e.usePipelineAnalyticsListRelocateMediaJobs, e.usePipelineAnalyticsListRetrainAnnotations, e.usePipelineAnalyticsListRetrainFrames, e.usePipelineAnalyticsListRetrainStaging, e.usePipelineAnalyticsListTrackMedia, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsPauseForStorageMigration, e.usePipelineAnalyticsProposeRetrainAnnotations, e.usePipelineAnalyticsPruneEvents, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsPruneTracksBefore, e.usePipelineAnalyticsRebuildObjectEmbeddings, e.usePipelineAnalyticsReconcileFromDisk, e.usePipelineAnalyticsRefreshStorageLocationsForMigration, e.usePipelineAnalyticsRelocateMedia, e.usePipelineAnalyticsRestageRetrainTrack, e.usePipelineAnalyticsResumeForStorageMigration, e.usePipelineAnalyticsRunReplayFrameProcessor, e.usePipelineAnalyticsSaveRetrainAnnotations, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineAnalyticsSelectRetrainFrames, e.usePipelineAnalyticsSetTrackFlags, e.usePipelineAnalyticsStartStorageMigrationMove, e.usePipelineAnalyticsWipeAllAnalytics, e.usePipelineAnalyticsWipeObjectEmbeddings, e.usePipelineExecutorCacheFrameInPool, e.usePipelineExecutorClearDeviceOverrides, e.usePipelineExecutorDeleteModel, e.usePipelineExecutorDeleteTemplate, e.usePipelineExecutorDownloadModel, e.usePipelineExecutorGetAddonModels, e.usePipelineExecutorGetAudioCapabilities, e.usePipelineExecutorGetAvailableEngines, e.usePipelineExecutorGetCapabilities, e.usePipelineExecutorGetDefaultSteps, e.usePipelineExecutorGetDetectionConfigSchema, e.usePipelineExecutorGetEffectiveTuning, e.usePipelineExecutorGetEngineProvisioning, e.usePipelineExecutorGetGlobalPipelineConfig, e.usePipelineExecutorGetGlobalSteps, e.usePipelineExecutorGetInferenceDeviceHealth, 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.usePipelineExecutorRearmInferenceDevice, e.usePipelineExecutorRunAudioTest, e.usePipelineExecutorRunPipeline, e.usePipelineExecutorRunPipelineBatch, e.usePipelineExecutorSaveTemplate, e.usePipelineExecutorSetVideoPipelineSteps, e.usePipelineExecutorSpinEngine, e.usePipelineExecutorUncacheFrame, e.usePipelineExecutorUpdateTemplate, e.usePipelineExecutorValidatePipeline, e.usePipelineOrchestratorApplyDeviceSettingsPatch, e.usePipelineOrchestratorAssignAudio, 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.usePipelineOrchestratorGetCameraSwitches, e.usePipelineOrchestratorGetCapabilityBindings, e.usePipelineOrchestratorGetDeviceLiveContribution, e.usePipelineOrchestratorGetDeviceSettingsContribution, e.usePipelineOrchestratorGetGlobalMetrics, e.usePipelineOrchestratorGetIngestOwner, e.usePipelineOrchestratorGetNodeInferenceDevices, e.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorGetPipelineDevicePin, e.usePipelineOrchestratorGetReconcileFromDiskStatus, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListTemplates, e.usePipelineOrchestratorPauseForStorageMigration, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorReconcileFromDisk, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorResetNodePipelineDefaults, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorResumeForStorageMigration, e.usePipelineOrchestratorSaveTemplate, e.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDetectWeight, e.usePipelineOrchestratorSetAgentInferenceDevices, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetAgentReachableHost, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepToggle, e.usePipelineOrchestratorSetCameraSwitch, e.usePipelineOrchestratorSetCapabilityBinding, e.usePipelineOrchestratorSetPipelineDevicePin, e.usePipelineOrchestratorUnassignAudio, e.usePipelineOrchestratorUnassignPipeline, e.usePipelineOrchestratorUpdateTemplate, e.usePipelineRunnerAttachCamera, e.usePipelineRunnerDetachCamera, e.usePipelineRunnerGetAllCameraMetrics, e.usePipelineRunnerGetCameraMetrics, e.usePipelineRunnerGetLocalCameras, e.usePipelineRunnerGetLocalLoad, e.usePipelineRunnerGetLocalMetrics, e.usePipelineRunnerGetNativeCrop, e.usePipelineRunnerReportMotion, e.usePipelineRunnerRunDetailSubtree, e.usePipelineRunnerRunStatelessStep, e.usePlateGalleryAssignPlate, e.usePlateGalleryAssignPlates, e.usePlateGalleryCorrectPlateText, e.usePlateGalleryCreateVehicle, e.usePlateGalleryDeletePlate, e.usePlateGalleryDeleteVehicle, e.usePlateGalleryGetPlateByTrack, e.usePlateGalleryGetPlateMedia, e.usePlateGalleryListPlates, e.usePlateGalleryListVehicleSamples, e.usePlateGalleryListVehicles, e.usePlateGalleryRemoveVehicleSample, e.usePlateGalleryRenameVehicle, e.usePlateGallerySearchPlates, e.usePlateGallerySuggestPlateClusters, e.usePlateGalleryUnassignPlate, e.usePlateGalleryUnassignPlates, e.usePlayerOverlayLayer, e.usePlayerOverlayLayers, e.usePlayerToolbarButton, e.usePlayerToolbarButtons, e.usePowerMeterGetStatus, e.usePresenceGetStatus, e.usePressureSensorGetStatus, e.usePrivacyMaskGetOptions, e.usePrivacyMaskGetStatus, e.usePrivacyMaskSetAudioEnabled, 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.useRecordingCancelRelocateJob, e.useRecordingCancelStorageMigrationMove, e.useRecordingDeleteFootprint, e.useRecordingExportCancelExport, e.useRecordingExportCreateExport, e.useRecordingExportDeleteExport, e.useRecordingExportGetDownloadUrl, e.useRecordingExportGetExport, e.useRecordingExportListExports, e.useRecordingExportReadExportBytes, e.useRecordingGetAvailability, e.useRecordingGetDaysWithRecordings, e.useRecordingGetDeviceConfig, e.useRecordingGetDeviceLiveContribution, e.useRecordingGetDeviceSettingsContribution, e.useRecordingGetPlaybackManifest, e.useRecordingGetStatus, e.useRecordingGetStorageMigrationMoveStatus, e.useRecordingGetStorageUsage, e.useRecordingListOpsLog, e.useRecordingListRelocateJobs, e.useRecordingLocateSegment, e.useRecordingPauseForStorageMigration, e.useRecordingPlanStorageRebalance, e.useRecordingPruneFootage, e.useRecordingReadGopBytes, e.useRecordingReadSegmentBytes, e.useRecordingReadWindowBytes, e.useRecordingRefreshStorageLocationsForMigration, e.useRecordingRelocateFootage, e.useRecordingRenderClip, e.useRecordingRenderGif, e.useRecordingRescanStorage, e.useRecordingResumeForStorageMigration, e.useRecordingSetDeviceConfig, e.useRecordingStartStorageMigrationMove, e.useRecordingStartStorageRebalance, e.useRemoteComponent, e.useSceneMonitorCaptureReference, e.useSceneMonitorCreateScene, e.useSceneMonitorDeleteReference, e.useSceneMonitorDeleteScene, e.useSceneMonitorGetStatus, e.useSceneMonitorListScenes, e.useSceneMonitorRecheckNow, e.useSceneMonitorResetScene, e.useSceneMonitorUpdateScene, e.useScriptRunnerGetStatus, e.useScriptRunnerRun, e.useScriptRunnerStop, e.useScrubController, e.useServerManagementApplyServerUpdate, e.useServerManagementCheckServerUpdate, e.useServerManagementGetServerPackageStatus, e.useServerManagementRestartServer, e.useServerManagementRollbackServerUpdate, e.useSettingsStoreAggregate, e.useSettingsStoreCount, e.useSettingsStoreDeclareCollection, e.useSettingsStoreDelete, e.useSettingsStoreDeleteWhere, e.useSettingsStoreGet, e.useSettingsStoreHistogram, e.useSettingsStoreInsert, e.useSettingsStoreIsEmpty, e.useSettingsStoreQuery, e.useSettingsStoreSet, e.useSettingsStoreUpdate, e.useSettingsStoreUpdateWhere, e.useSmokeGetStatus, e.useSnapshotApplyDeviceSettingsPatch, e.useSnapshotGetDebugState, e.useSnapshotGetDeviceLiveContribution, e.useSnapshotGetDeviceSettingsContribution, e.useSnapshotGetSnapshot, e.useSnapshotGetSnapshotLinks, e.useSnapshotGetSnapshotOverview, e.useSnapshotGetStatus, e.useSnapshotInvalidateCache, 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.useStorageMigrationCancel, e.useStorageMigrationPlan, e.useStorageMigrationStart, e.useStorageMigrationStatus, e.useStorageRead, e.useStorageReadChunk, e.useStorageResolve, e.useStorageTestConfig, e.useStorageTestLocation, e.useStorageUpsertLocation, e.useStorageWrite, e.useStorageWriteChunk, e.useStreamBrokerAcquireEgressTranscode, e.useStreamBrokerApplyDeviceSettingsPatch, e.useStreamBrokerAssignProfile, e.useStreamBrokerFetchEventMedia, e.useStreamBrokerGetAllRtspEntries, e.useStreamBrokerGetBrokerStats, e.useStreamBrokerGetDeviceAudioMute, 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.useStreamBrokerProduceEventMedia, e.useStreamBrokerPublishCameraStream, e.useStreamBrokerPullAudioChunks, e.useStreamBrokerPullFrameHandles, e.useStreamBrokerRegenerateRtspToken, e.useStreamBrokerReleaseEgressTranscode, e.useStreamBrokerReleaseStreamWithCodec, e.useStreamBrokerRenderPreBufferClip, e.useStreamBrokerRestartProfile, e.useStreamBrokerRetractCameraStream, e.useStreamBrokerSetDeviceAudioMute, 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.useSystemDetectSiteLocation, e.useSystemFeatureFlags, e.useSystemForceRetentionCleanup, e.useSystemGetLoggingSettings, e.useSystemGetRequestCensus, e.useSystemGetRetentionConfig, e.useSystemGetSiteLocation, e.useSystemHealth, e.useSystemInfo, e.useSystemMutation, e.useSystemNetworkAddresses, e.useSystemQuery, e.useSystemSetLoggingSettings, e.useSystemSetRetentionConfig, e.useSystemSetSiteLocation, e.useTamperGetStatus, e.useTemperatureSensorGetStatus, e.useTerminalSessionAdoptLegacyMonitor, e.useTerminalSessionClose, e.useTerminalSessionCreateInstance, e.useTerminalSessionDeleteInstance, e.useTerminalSessionListInstances, e.useTerminalSessionListLegacyCameras, e.useTerminalSessionListProfiles, e.useTerminalSessionListSessions, e.useTerminalSessionOpenSession, e.useTerminalSessionPullOutput, e.useTerminalSessionResize, e.useTerminalSessionSetInstanceEnabled, e.useTerminalSessionUpdateInstance, e.useTerminalSessionWriteInput, 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.variantLabel, e.variantLabel$1, 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, d as n, l as o, o as r, u as s, a as t };
|