@camstack/addon-post-analysis 1.2.4 → 1.2.5
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-gQ5DHTYd.mjs → dist-Db0CsDGK.mjs} +28 -2
- package/dist/{dist-Ck79MtSp.js → dist-Dlb4YrCt.js} +28 -2
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/{node-C4bKtLou.js → node-DWX3J7jh.js} +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-ChHurWQz.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-ACzsl3tP.mjs} +2 -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-CDgDsFf_.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-DQbbiJYs.mjs → hostInit-BdlfdPP1.mjs} +2 -2
- package/dist/pipeline-analytics/index.js +158 -35
- package/dist/pipeline-analytics/index.mjs +157 -34
- package/dist/pipeline-analytics/remoteEntry.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-CUKChUeW.mjs +0 -26
|
@@ -11522,6 +11522,12 @@ var motionCooldownMsField = {
|
|
|
11522
11522
|
default: 3e4,
|
|
11523
11523
|
step: 500
|
|
11524
11524
|
};
|
|
11525
|
+
var maxSessionHoldMsField = {
|
|
11526
|
+
min: 0,
|
|
11527
|
+
max: 6e5,
|
|
11528
|
+
default: 12e4,
|
|
11529
|
+
step: 5e3
|
|
11530
|
+
};
|
|
11525
11531
|
var motionFpsField = {
|
|
11526
11532
|
min: 1,
|
|
11527
11533
|
max: 30,
|
|
@@ -11669,6 +11675,19 @@ var RunnerCameraConfigSchema = object({
|
|
|
11669
11675
|
"on-motion"
|
|
11670
11676
|
]).default("always-on"),
|
|
11671
11677
|
motionCooldownMs: number().min(motionCooldownMsField.min).default(motionCooldownMsField.default),
|
|
11678
|
+
/**
|
|
11679
|
+
* Orchestrator-side on-motion session-hold cap (ms). While an on-motion
|
|
11680
|
+
* detection session is active and ≥1 confirmed non-stationary track is
|
|
11681
|
+
* still live, the orchestrator keeps the session open past
|
|
11682
|
+
* `motionCooldownMs` (a slowly-moving subject can stop re-triggering the
|
|
11683
|
+
* camera's VMD yet is still being tracked frame-to-frame) — up to this many
|
|
11684
|
+
* ms since the session opened, after which it closes regardless. `0`
|
|
11685
|
+
* disables the hold (legacy cooldown-only teardown). Not consumed by the
|
|
11686
|
+
* runner itself — carried here so it shares the per-camera device-settings
|
|
11687
|
+
* surface with `motionCooldownMs`; the orchestrator reads it off the
|
|
11688
|
+
* resolved `CameraDetectionConfig`.
|
|
11689
|
+
*/
|
|
11690
|
+
maxSessionHoldMs: number().min(maxSessionHoldMsField.min).max(maxSessionHoldMsField.max).optional(),
|
|
11672
11691
|
motionFps: number().min(motionFpsField.min).max(motionFpsField.max).default(motionFpsField.default),
|
|
11673
11692
|
detectionFps: number().min(detectionFpsField.min).max(detectionFpsField.max).default(detectionFpsField.default),
|
|
11674
11693
|
motionStreamId: string(),
|
|
@@ -11758,7 +11777,7 @@ var RunnerCameraConfigSchema = object({
|
|
|
11758
11777
|
*/
|
|
11759
11778
|
inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
|
|
11760
11779
|
});
|
|
11761
|
-
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
11780
|
+
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
11762
11781
|
/**
|
|
11763
11782
|
* Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
|
|
11764
11783
|
* load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
|
|
@@ -17030,7 +17049,14 @@ var pipelineAnalyticsCapability = {
|
|
|
17030
17049
|
eventId: string(),
|
|
17031
17050
|
kind: MediaFileKindEnum.optional()
|
|
17032
17051
|
}), array(MediaFileSchema).readonly()),
|
|
17033
|
-
|
|
17052
|
+
/** All media rows owned by a track. `kinds` narrows to a kind subset so a
|
|
17053
|
+
* client can fetch the SMALL display variants on open and pull the
|
|
17054
|
+
* multi-MB native variants only on demand (mirrors `getEventMedia.kind`).
|
|
17055
|
+
* Absent ⇒ every kind (back-compat). */
|
|
17056
|
+
getTrackMedia: method(object({
|
|
17057
|
+
trackId: string(),
|
|
17058
|
+
kinds: array(MediaFileKindEnum).optional()
|
|
17059
|
+
}), array(MediaFileSchema).readonly()),
|
|
17034
17060
|
/**
|
|
17035
17061
|
* Search object events by text query using CLIP cosine similarity.
|
|
17036
17062
|
* Encodes `text` via the `embedding-encoder` cap, queries the
|
|
@@ -11544,6 +11544,12 @@ var motionCooldownMsField = {
|
|
|
11544
11544
|
default: 3e4,
|
|
11545
11545
|
step: 500
|
|
11546
11546
|
};
|
|
11547
|
+
var maxSessionHoldMsField = {
|
|
11548
|
+
min: 0,
|
|
11549
|
+
max: 6e5,
|
|
11550
|
+
default: 12e4,
|
|
11551
|
+
step: 5e3
|
|
11552
|
+
};
|
|
11547
11553
|
var motionFpsField = {
|
|
11548
11554
|
min: 1,
|
|
11549
11555
|
max: 30,
|
|
@@ -11691,6 +11697,19 @@ var RunnerCameraConfigSchema = object({
|
|
|
11691
11697
|
"on-motion"
|
|
11692
11698
|
]).default("always-on"),
|
|
11693
11699
|
motionCooldownMs: number().min(motionCooldownMsField.min).default(motionCooldownMsField.default),
|
|
11700
|
+
/**
|
|
11701
|
+
* Orchestrator-side on-motion session-hold cap (ms). While an on-motion
|
|
11702
|
+
* detection session is active and ≥1 confirmed non-stationary track is
|
|
11703
|
+
* still live, the orchestrator keeps the session open past
|
|
11704
|
+
* `motionCooldownMs` (a slowly-moving subject can stop re-triggering the
|
|
11705
|
+
* camera's VMD yet is still being tracked frame-to-frame) — up to this many
|
|
11706
|
+
* ms since the session opened, after which it closes regardless. `0`
|
|
11707
|
+
* disables the hold (legacy cooldown-only teardown). Not consumed by the
|
|
11708
|
+
* runner itself — carried here so it shares the per-camera device-settings
|
|
11709
|
+
* surface with `motionCooldownMs`; the orchestrator reads it off the
|
|
11710
|
+
* resolved `CameraDetectionConfig`.
|
|
11711
|
+
*/
|
|
11712
|
+
maxSessionHoldMs: number().min(maxSessionHoldMsField.min).max(maxSessionHoldMsField.max).optional(),
|
|
11694
11713
|
motionFps: number().min(motionFpsField.min).max(motionFpsField.max).default(motionFpsField.default),
|
|
11695
11714
|
detectionFps: number().min(detectionFpsField.min).max(detectionFpsField.max).default(detectionFpsField.default),
|
|
11696
11715
|
motionStreamId: string(),
|
|
@@ -11780,7 +11799,7 @@ var RunnerCameraConfigSchema = object({
|
|
|
11780
11799
|
*/
|
|
11781
11800
|
inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
|
|
11782
11801
|
});
|
|
11783
|
-
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
11802
|
+
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, maxSessionHoldMsField.min, maxSessionHoldMsField.max, maxSessionHoldMsField.step, maxSessionHoldMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
11784
11803
|
/**
|
|
11785
11804
|
* Runtime load summary returned by `getLocalLoad`. Used by the orchestrator's
|
|
11786
11805
|
* load-balancing levels (L2 capacity-based, L3 hardware-aware) to decide
|
|
@@ -17052,7 +17071,14 @@ var pipelineAnalyticsCapability = {
|
|
|
17052
17071
|
eventId: string(),
|
|
17053
17072
|
kind: MediaFileKindEnum.optional()
|
|
17054
17073
|
}), array(MediaFileSchema).readonly()),
|
|
17055
|
-
|
|
17074
|
+
/** All media rows owned by a track. `kinds` narrows to a kind subset so a
|
|
17075
|
+
* client can fetch the SMALL display variants on open and pull the
|
|
17076
|
+
* multi-MB native variants only on demand (mirrors `getEventMedia.kind`).
|
|
17077
|
+
* Absent ⇒ every kind (back-compat). */
|
|
17078
|
+
getTrackMedia: method(object({
|
|
17079
|
+
trackId: string(),
|
|
17080
|
+
kinds: array(MediaFileKindEnum).optional()
|
|
17081
|
+
}), array(MediaFileSchema).readonly()),
|
|
17056
17082
|
/**
|
|
17057
17083
|
* Search object events by text query using CLIP cosine similarity.
|
|
17058
17084
|
* Encodes `text` via the `embedding-encoder` cap, queries the
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-Dlb4YrCt.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
let node_fs$1 = require_dist.__toESM(node_fs, 1);
|
|
8
8
|
node_fs = require_dist.__toESM(node_fs);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as BaseAddon, f as hfModelUrl, u as embeddingEncoderCapability } from "../dist-
|
|
1
|
+
import { b as BaseAddon, f as hfModelUrl, u as embeddingEncoderCapability } from "../dist-Db0CsDGK.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
|
|
2
2
|
import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
|
|
3
|
-
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-
|
|
3
|
+
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CDgDsFf_.mjs";
|
|
4
4
|
import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
|
|
5
5
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
6
6
|
var _ = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), v = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), y = (e) => {
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.5",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.5",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region \0virtual:mf:__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js
|
|
2
|
+
var e = "__mf_init__virtual:mf:__mfe_internal__addon_pipeline_analytics_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
|
|
3
|
+
if (!t) {
|
|
4
|
+
let n, r, i = new Promise((e, t) => {
|
|
5
|
+
n = e, r = t;
|
|
6
|
+
});
|
|
7
|
+
t = globalThis[e] = {
|
|
8
|
+
initPromise: i,
|
|
9
|
+
initResolve: n,
|
|
10
|
+
initReject: r
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
var n = t.initPromise, r = "__mf_module_cache__";
|
|
14
|
+
globalThis[r] ||= {
|
|
15
|
+
share: {},
|
|
16
|
+
remote: {}
|
|
17
|
+
}, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
|
|
18
|
+
var i = globalThis[r], a, o, s, c, l, u, d, f = (e) => {
|
|
19
|
+
e.AddonGlobalSettingsForm, e.AgentStepEditor, e.AlarmHeroCard, e.AlarmPanelInlineControl, e.AppShell, e.ArcKnob, e.AudioClassificationList, e.AudioLevelWaveform, e.AudioWaveform, e.AutotrackSection, e.BTN_COMPACT, e.BTN_COMPACT_DANGER, e.BTN_COMPACT_PRIMARY, e.BTN_COMPACT_WARNING, e.Badge, e.BatteryBadge, e.BottomSheet, e.Breadcrumb, e.BrightnessPanel, e.Button, e.ButtonControl, e.ButtonHeroCard, e.CENTER, e.CHIP_ACTIVE, e.CHIP_BASE, e.CHIP_INACTIVE, e.CLASS_COLORS, e.COLUMN_BREAKPOINT_CLASS, e.COLUMN_PRIORITY, e.COMMIT_DEDUPE_TOLERANCE_MS, e.COMMIT_DEDUPE_WINDOW_MS, e.CONTROL_CAP_NAMES, e.CONTROL_FILLS, e.CameraStreamPlayer, e.Card, e.Checkbox, e.ChildSectionAccordion, e.ClimatePanel, e.CodeBlock, e.CollapsibleCard, e.ConfigFormBuilder, e.ConfigFormField, e.ConfigSchemaField, e.ConfirmActionButton, e.ConfirmDialogProvider, e.ConsumablesPanel, e.ContainerChildrenProvider, e.ContainerPrimaryHero, e.ControlColumn, e.ControlHeroCard, e.ControlInlineControl, e.ControlPanel, e.CopyButton, e.CoverHeroCard, e.CoverInlineControl, e.CoverPanel, e.CustomFieldRenderersProvider, e.DEFAULT_COLOR, e.DEVICE_COLUMNS, e.DEVICE_LIST_PAGE_SIZE_KEY, e.DEVICE_LIST_PAGE_SIZE_OPTIONS, e.DEVICE_ROLE_META, e.DEVICE_TYPE_CONTROL, e.DEVICE_TYPE_META, e.DISPLAY_ICON_REGISTRY, e.DataTable, e.DetectionCanvas, e.DetectionOverlay, e.DetectionResultTree, e.DevShell, e.DeviceActivityPanel, e.DeviceBatchToolbar, e.DeviceCard, e.DeviceContextProvider, e.DeviceExportPanel, e.DeviceGrid, e.DeviceItem, e.DeviceList, e.DeviceMultiSelectField, e.DeviceSelectField, e.DeviceStepMatrix, 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.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.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.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.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.agentColumnKey, 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.deviceMatchesFilter, e.deviceOptionLabel, e.deviceRoleMeta, e.deviceRoleMetaOf, 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.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.resolveEventKindIcon, e.resolvePrimaryChild, e.resolveSensorDisplay, e.resolveStepDefaultModel, e.scrubReducer, e.selectedDeviceOptions, e.serializeRecordedCommand, e.shouldCommit, e.shouldEmit, e.shouldUseSingleNode, 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.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.useDeviceManagerApplyDeviceSettingsPatch, 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.useDeviceManagerGetDeviceLiveContribution, e.useDeviceManagerGetDeviceLiveInfoAggregate, e.useDeviceManagerGetDeviceSettingsAggregate, e.useDeviceManagerGetDeviceSettingsContribution, e.useDeviceManagerGetDeviceStatusAggregate, e.useDeviceManagerGetLinkedDevices, 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.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.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.useLlmSetDefault, e.useLlmStartRuntime, e.useLlmStopRuntime, e.useLlmTestProfile, e.useLlmUpsertProfile, 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.usePipelineAnalyticsDeleteDeviceEvents, e.usePipelineAnalyticsDeleteTracks, e.usePipelineAnalyticsGetActiveTracks, e.usePipelineAnalyticsGetAudioEvents, e.usePipelineAnalyticsGetDeviceLiveContribution, e.usePipelineAnalyticsGetDeviceSettingsContribution, e.usePipelineAnalyticsGetEventDensity, e.usePipelineAnalyticsGetEventMedia, e.usePipelineAnalyticsGetEventStoreFootprint, e.usePipelineAnalyticsGetKeyEvents, e.usePipelineAnalyticsGetMotionEvents, e.usePipelineAnalyticsGetObjectEvents, e.usePipelineAnalyticsGetSensorEvents, e.usePipelineAnalyticsGetTrack, e.usePipelineAnalyticsGetTrackMedia, e.usePipelineAnalyticsListEventKinds, e.usePipelineAnalyticsListOpsLog, e.usePipelineAnalyticsListRecentTracks, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsPruneEvents, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsPruneTracksBefore, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineAnalyticsWipeAllAnalytics, 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.usePipelineExecutorGetOrchestratorConfigSchema, e.usePipelineExecutorGetReferenceAudio, e.usePipelineExecutorGetReferenceAudioFiles, e.usePipelineExecutorGetReferenceImage, e.usePipelineExecutorGetSchema, e.usePipelineExecutorGetSelectedEngine, e.usePipelineExecutorGetVideoPipelineSteps, e.usePipelineExecutorInferCached, e.usePipelineExecutorKillEngine, e.usePipelineExecutorListLoadedEngines, e.usePipelineExecutorListReferenceImages, e.usePipelineExecutorListTemplates, 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.usePipelineOrchestratorGetCapabilityBindings, e.usePipelineOrchestratorGetDeviceLiveContribution, e.usePipelineOrchestratorGetDeviceSettingsContribution, e.usePipelineOrchestratorGetGlobalMetrics, e.usePipelineOrchestratorGetIngestOwner, e.usePipelineOrchestratorGetNodeInferenceDevices, e.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorGetPipelineDevicePin, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListTemplates, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorResetNodePipelineDefaults, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorSaveTemplate, e.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDetectWeight, e.usePipelineOrchestratorSetAgentInferenceDevices, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetAgentReachableHost, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepToggle, 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.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.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.useRecordingDeleteFootprint, e.useRecordingExportCancelExport, e.useRecordingExportCreateExport, e.useRecordingExportDeleteExport, e.useRecordingExportGetDownloadUrl, e.useRecordingExportGetExport, e.useRecordingExportListExports, e.useRecordingGetAvailability, e.useRecordingGetDaysWithRecordings, e.useRecordingGetDeviceConfig, e.useRecordingGetDeviceLiveContribution, e.useRecordingGetDeviceSettingsContribution, e.useRecordingGetPlaybackManifest, e.useRecordingGetStatus, e.useRecordingGetStorageUsage, e.useRecordingListOpsLog, e.useRecordingLocateSegment, e.useRecordingPruneFootage, e.useRecordingReadSegmentBytes, e.useRecordingRescanStorage, e.useRecordingSetDeviceConfig, e.useRemoteComponent, e.useSceneMonitorCaptureReference, e.useSceneMonitorCreateScene, e.useSceneMonitorDeleteReference, e.useSceneMonitorDeleteScene, e.useSceneMonitorGetStatus, e.useSceneMonitorListScenes, e.useSceneMonitorRecheckNow, e.useSceneMonitorUpdateScene, e.useScriptRunnerGetStatus, e.useScriptRunnerRun, e.useScriptRunnerStop, e.useScrubController, e.useServerManagementApplyServerUpdate, e.useServerManagementCheckServerUpdate, e.useServerManagementGetServerPackageStatus, e.useServerManagementRestartServer, e.useServerManagementRollbackServerUpdate, 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.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.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, d as n, l as o, o as r, u as s, a as t };
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.5",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.5",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-Dlb4YrCt.js");
|
|
6
6
|
let node_crypto = require("node:crypto");
|
|
7
7
|
let sharp = require("sharp");
|
|
8
8
|
sharp = require_dist.__toESM(sharp);
|
|
@@ -6765,9 +6765,12 @@ var EventMediaDispatcher = class {
|
|
|
6765
6765
|
const empty = {
|
|
6766
6766
|
storedSnapshots: [],
|
|
6767
6767
|
thumbnailTrackIds: [],
|
|
6768
|
+
firstFrameTrackIds: [],
|
|
6769
|
+
lastFrameTrackIds: [],
|
|
6768
6770
|
rasterFallbacks: []
|
|
6769
6771
|
};
|
|
6770
|
-
|
|
6772
|
+
const extraCandidateCount = input.rasterFallbackCandidates?.length ?? 0;
|
|
6773
|
+
if (events.length === 0 && trackFrames.length === 0 && snapshots.length === 0 && extraCandidateCount === 0) return empty;
|
|
6771
6774
|
let decoded;
|
|
6772
6775
|
try {
|
|
6773
6776
|
decoded = await resolveFrame(frameHandle, { getRemoteFrame: this.deps.getRemoteFrame });
|
|
@@ -6817,44 +6820,59 @@ var EventMediaDispatcher = class {
|
|
|
6817
6820
|
});
|
|
6818
6821
|
return empty;
|
|
6819
6822
|
}
|
|
6820
|
-
const rasterFallbacks = await this.collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, input.cropPadding, input.rasterFallbackWantedTrackIds);
|
|
6823
|
+
const rasterFallbacks = await this.collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, input.cropPadding, input.rasterFallbackWantedTrackIds, input.rasterFallbackCandidates);
|
|
6821
6824
|
for (const ev of events) await this.writeEventMedia(deviceId, frameHandle, fw, fh, ev, input.cropPadding);
|
|
6822
|
-
|
|
6825
|
+
const firstFrameTrackIds = [];
|
|
6826
|
+
for (const tf of trackFrames) if (await this.writeTrackFrame(deviceId, frameHandle, frameData, fw, fh, tf)) firstFrameTrackIds.push(tf.trackId);
|
|
6823
6827
|
const storedSnapshots = [];
|
|
6824
6828
|
const thumbnailTrackIds = [];
|
|
6829
|
+
const lastFrameTrackIds = [];
|
|
6825
6830
|
for (const sn of snapshots) {
|
|
6826
6831
|
const res = await this.writeTrackSnapshot(deviceId, frameHandle, frameData, fw, fh, sn);
|
|
6827
6832
|
if (res.storedSnapshot) storedSnapshots.push(res.storedSnapshot);
|
|
6828
6833
|
if (res.thumbnailWritten) thumbnailTrackIds.push(sn.trackId);
|
|
6834
|
+
if (res.lastFrameWritten) lastFrameTrackIds.push(sn.trackId);
|
|
6829
6835
|
}
|
|
6830
6836
|
return {
|
|
6831
6837
|
storedSnapshots,
|
|
6832
6838
|
thumbnailTrackIds,
|
|
6839
|
+
firstFrameTrackIds,
|
|
6840
|
+
lastFrameTrackIds,
|
|
6833
6841
|
rasterFallbacks
|
|
6834
6842
|
};
|
|
6835
6843
|
}
|
|
6836
6844
|
/**
|
|
6837
|
-
* Cut ONE clean detection-raster subject crop per WANTED track
|
|
6838
|
-
*
|
|
6839
|
-
*
|
|
6840
|
-
*
|
|
6841
|
-
*
|
|
6842
|
-
*
|
|
6845
|
+
* Cut ONE clean detection-raster subject crop per WANTED track observed this
|
|
6846
|
+
* frame — the "first available detection-raster frame" of the zero-media
|
|
6847
|
+
* fallback. Candidate bboxes come from this frame's firstFrame/snapshot targets
|
|
6848
|
+
* AND (widened) the explicit `extraCandidates` (confirmed tracks with no such
|
|
6849
|
+
* target). Cropped from the already-resolved `frameData` at its REAL resolution
|
|
6850
|
+
* via {@link extractCrop} (extract-only — NEVER upscaled). Deduped per trackId
|
|
6851
|
+
* (first candidate wins; target-derived candidates precede the extras). A
|
|
6852
|
+
* per-track encode failure is skipped (logged) — a missing fallback simply
|
|
6843
6853
|
* leaves the track with no last-resort preview, never an error.
|
|
6844
6854
|
*/
|
|
6845
|
-
async collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, cropPadding, wanted) {
|
|
6855
|
+
async collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, cropPadding, wanted, extraCandidates) {
|
|
6846
6856
|
if (!wanted || wanted.size === 0) return [];
|
|
6847
6857
|
const seen = /* @__PURE__ */ new Set();
|
|
6848
6858
|
const out = [];
|
|
6849
|
-
const candidates = [
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6859
|
+
const candidates = [
|
|
6860
|
+
...trackFrames.map((t) => ({
|
|
6861
|
+
trackId: t.trackId,
|
|
6862
|
+
timestamp: t.timestamp,
|
|
6863
|
+
bbox: t.bbox
|
|
6864
|
+
})),
|
|
6865
|
+
...snapshots.map((s) => ({
|
|
6866
|
+
trackId: s.trackId,
|
|
6867
|
+
timestamp: s.timestamp,
|
|
6868
|
+
bbox: s.bbox
|
|
6869
|
+
})),
|
|
6870
|
+
...(extraCandidates ?? []).map((c) => ({
|
|
6871
|
+
trackId: c.trackId,
|
|
6872
|
+
timestamp: c.timestamp,
|
|
6873
|
+
bbox: c.bbox
|
|
6874
|
+
}))
|
|
6875
|
+
];
|
|
6858
6876
|
for (const c of candidates) {
|
|
6859
6877
|
if (!wanted.has(c.trackId) || seen.has(c.trackId)) continue;
|
|
6860
6878
|
seen.add(c.trackId);
|
|
@@ -6888,11 +6906,15 @@ var EventMediaDispatcher = class {
|
|
|
6888
6906
|
* TrackStore wiring (null when `appendSnapshot` is false or the encode
|
|
6889
6907
|
* failed). `thumbnailWritten` reports whether a best `thumbnail` actually
|
|
6890
6908
|
* landed this frame (#27-A) so the caller can stop forcing retries.
|
|
6909
|
+
* `lastFrameWritten` reports whether the rolling `lastFrame` actually landed
|
|
6910
|
+
* (DEFECT B) so the caller advances its `lastFrameAt` clock ONLY on a real
|
|
6911
|
+
* write — a dropped roll leaves the clock put and retries next frame.
|
|
6891
6912
|
*/
|
|
6892
6913
|
async writeTrackSnapshot(deviceId, frameHandle, frameData, fw, fh, sn) {
|
|
6893
6914
|
if (!sn.appendSnapshot && !sn.rollingLastFrame && !sn.bestThumbnail) return {
|
|
6894
6915
|
storedSnapshot: null,
|
|
6895
|
-
thumbnailWritten: false
|
|
6916
|
+
thumbnailWritten: false,
|
|
6917
|
+
lastFrameWritten: false
|
|
6896
6918
|
};
|
|
6897
6919
|
let boxed = null;
|
|
6898
6920
|
if (sn.appendSnapshot || sn.rollingLastFrame) boxed = await this.boxedTimelineFrame(deviceId, frameHandle, frameData, fw, fh, sn.trackId, sn.bbox, sn.label);
|
|
@@ -6913,7 +6935,8 @@ var EventMediaDispatcher = class {
|
|
|
6913
6935
|
bbox: sn.bbox
|
|
6914
6936
|
};
|
|
6915
6937
|
} catch {}
|
|
6916
|
-
|
|
6938
|
+
let lastFrameWritten = false;
|
|
6939
|
+
if (sn.rollingLastFrame && boxed) lastFrameWritten = await this.replaceKind(deviceId, sn.trackId, "lastFrame", sn.timestamp, boxed);
|
|
6917
6940
|
let thumbnailWritten = false;
|
|
6918
6941
|
if (sn.bestThumbnail) {
|
|
6919
6942
|
const variants = await this.cropSubjectVariants(frameHandle, fw, fh, sn.bbox);
|
|
@@ -6924,7 +6947,8 @@ var EventMediaDispatcher = class {
|
|
|
6924
6947
|
}
|
|
6925
6948
|
return {
|
|
6926
6949
|
storedSnapshot: stored,
|
|
6927
|
-
thumbnailWritten
|
|
6950
|
+
thumbnailWritten,
|
|
6951
|
+
lastFrameWritten
|
|
6928
6952
|
};
|
|
6929
6953
|
}
|
|
6930
6954
|
/**
|
|
@@ -7121,7 +7145,7 @@ var EventMediaDispatcher = class {
|
|
|
7121
7145
|
}
|
|
7122
7146
|
async writeTrackFrame(deviceId, frameHandle, frameData, fw, fh, tf) {
|
|
7123
7147
|
const boxed = await this.boxedTimelineFrame(deviceId, frameHandle, frameData, fw, fh, tf.trackId, tf.bbox, tf.label);
|
|
7124
|
-
if (!boxed) return;
|
|
7148
|
+
if (!boxed) return false;
|
|
7125
7149
|
try {
|
|
7126
7150
|
await this.deps.mediaStore.put({
|
|
7127
7151
|
deviceId,
|
|
@@ -7131,6 +7155,7 @@ var EventMediaDispatcher = class {
|
|
|
7131
7155
|
timestamp: tf.timestamp,
|
|
7132
7156
|
data: boxed
|
|
7133
7157
|
});
|
|
7158
|
+
return true;
|
|
7134
7159
|
} catch (err) {
|
|
7135
7160
|
this.deps.logger.warn("event media: track frame failed", {
|
|
7136
7161
|
tags: { deviceId },
|
|
@@ -7140,6 +7165,7 @@ var EventMediaDispatcher = class {
|
|
|
7140
7165
|
error: err instanceof Error ? err.message : String(err)
|
|
7141
7166
|
}
|
|
7142
7167
|
});
|
|
7168
|
+
return false;
|
|
7143
7169
|
}
|
|
7144
7170
|
}
|
|
7145
7171
|
};
|
|
@@ -12549,6 +12575,32 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
12549
12575
|
* where no `snapshot` is appended, so it is never byte-identical to a stored
|
|
12550
12576
|
* `snapshot` (kills the end-of-track duplicate). Cleared on track end. */
|
|
12551
12577
|
lastFrameAtByTrack = /* @__PURE__ */ new Map();
|
|
12578
|
+
/** Tracks with a rolling-`lastFrame` capture CURRENTLY in flight (RC-1,
|
|
12579
|
+
* DEFECT B). The `lastFrameAt` clock now advances ONLY when the write lands
|
|
12580
|
+
* (dispatcher completion), not synchronously at plan time — so a dropped roll
|
|
12581
|
+
* (recycled/blank frame) leaves the clock put and re-rolls next frame. Without
|
|
12582
|
+
* an in-flight guard that re-roll would fire EVERY frame while the first
|
|
12583
|
+
* capture is still resolving (0.1–3s under the native path), stacking N
|
|
12584
|
+
* overlapping captures. While a track sits here `buildSnapshotTargets`
|
|
12585
|
+
* suppresses a new rolling-`lastFrame` request; the pending dispatch clears it
|
|
12586
|
+
* (and, if it landed, advances `lastFrameAtByTrack`). Cleared on track end +
|
|
12587
|
+
* reset. */
|
|
12588
|
+
lastFrameInFlight = /* @__PURE__ */ new Set();
|
|
12589
|
+
/** Confirmed-birth tracks whose `firstFrame` has NOT yet actually persisted
|
|
12590
|
+
* (DEFECT A). Seeded on a confirmed birth (alongside the birth firstFrame
|
|
12591
|
+
* target) and removed the moment the write lands. While a track sits here and
|
|
12592
|
+
* is matched this frame, `collectFirstFrameRetries` re-schedules a firstFrame
|
|
12593
|
+
* target so a birth capture dropped by a recycled/blank live frame is retried
|
|
12594
|
+
* on a later frame (earliest available view still beats none). Scoped to
|
|
12595
|
+
* confirmed births ONLY — a suppressed false-positive birth or resurrection
|
|
12596
|
+
* never enters, so it never gets a retro firstFrame. Cleared on track end +
|
|
12597
|
+
* reset. */
|
|
12598
|
+
firstFramePendingTracks = /* @__PURE__ */ new Set();
|
|
12599
|
+
/** Tracks with a `firstFrame` capture CURRENTLY in flight (RC-1, DEFECT A).
|
|
12600
|
+
* Mirrors `thumbnailInFlight`: while a firstFrame capture is resolving the
|
|
12601
|
+
* per-frame retry is suppressed so at most one capture is outstanding per
|
|
12602
|
+
* track. Cleared on dispatch settle (+ track end / reset). */
|
|
12603
|
+
firstFrameInFlight = /* @__PURE__ */ new Set();
|
|
12552
12604
|
/** Track ids whose best `thumbnail` has ACTUALLY been persisted (#27-A). A
|
|
12553
12605
|
* track absent here keeps forcing a best-thumbnail capture every frame until
|
|
12554
12606
|
* one lands, so a short / high-churn track whose first capture was dropped
|
|
@@ -12639,7 +12691,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
12639
12691
|
let storage = this.ctx.kernel.storage;
|
|
12640
12692
|
const mediaRoot = process.env.CAMSTACK_MEDIA_ROOT?.trim();
|
|
12641
12693
|
if (mediaRoot) {
|
|
12642
|
-
const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-
|
|
12694
|
+
const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-DWX3J7jh.js"));
|
|
12643
12695
|
storage = new FilesystemStorageProvider(mediaRoot);
|
|
12644
12696
|
logger.info("pipeline-analytics: event media rooted at CAMSTACK_MEDIA_ROOT", { meta: { mediaRoot } });
|
|
12645
12697
|
}
|
|
@@ -13443,6 +13495,9 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13443
13495
|
this.dropoutSkipsByKey.clear();
|
|
13444
13496
|
this.bestFrameTracker.clear();
|
|
13445
13497
|
this.lastFrameAtByTrack.clear();
|
|
13498
|
+
this.lastFrameInFlight.clear();
|
|
13499
|
+
this.firstFramePendingTracks.clear();
|
|
13500
|
+
this.firstFrameInFlight.clear();
|
|
13446
13501
|
this.thumbnailLandedTracks.clear();
|
|
13447
13502
|
this.thumbnailInFlight.clear();
|
|
13448
13503
|
this.keyFrameInFlight.clear();
|
|
@@ -13614,15 +13669,16 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13614
13669
|
className: t.className,
|
|
13615
13670
|
source
|
|
13616
13671
|
} });
|
|
13617
|
-
if (this.eventMediaDispatcher
|
|
13618
|
-
|
|
13672
|
+
if (this.eventMediaDispatcher) {
|
|
13673
|
+
this.firstFramePendingTracks.add(id);
|
|
13674
|
+
this.trackStore.seedSnapshotClock(id, result.timestamp, t.bbox);
|
|
13675
|
+
this.lastFrameAtByTrack.set(id, result.timestamp);
|
|
13676
|
+
if (frameHandle) firstFrameTargets.push({
|
|
13619
13677
|
trackId: id,
|
|
13620
13678
|
timestamp: result.timestamp,
|
|
13621
13679
|
bbox: { ...t.bbox },
|
|
13622
13680
|
...t.label ? { label: t.label } : {}
|
|
13623
13681
|
});
|
|
13624
|
-
this.trackStore.seedSnapshotClock(id, result.timestamp, t.bbox);
|
|
13625
|
-
this.lastFrameAtByTrack.set(id, result.timestamp);
|
|
13626
13682
|
}
|
|
13627
13683
|
this.ctx.eventBus.emit({
|
|
13628
13684
|
id: `pa-${(0, node_crypto.randomUUID)()}`,
|
|
@@ -13771,6 +13827,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13771
13827
|
for (const crops of childCropsByEvent.values()) for (const c of crops) if (c.kind === "faceCrop") faceCrops += 1;
|
|
13772
13828
|
else plateCrops += 1;
|
|
13773
13829
|
const snapshotTargets = this.buildSnapshotTargets(deviceId, result.tracked, result.timestamp, mediaSettings, result.frameWidth, result.frameHeight);
|
|
13830
|
+
for (const retry of this.collectFirstFrameRetries(result.tracked, result.timestamp, firstFrameTargets)) firstFrameTargets.push(retry);
|
|
13774
13831
|
const keyFrameTrackIds = selectKeyFrameTrackIds(snapshotTargets);
|
|
13775
13832
|
if (keyFrameTrackIds.length > 0) this.persistKeyFrames(deviceId, result.timestamp, keyFrameTrackIds, frameHandle);
|
|
13776
13833
|
if (eventTargets.length > 0 || firstFrameTargets.length > 0 || snapshotTargets.length > 0) {
|
|
@@ -13794,9 +13851,29 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13794
13851
|
} });
|
|
13795
13852
|
const thumbInFlightTrackIds = snapshotTargets.filter((t) => t.bestThumbnail).map((t) => t.trackId);
|
|
13796
13853
|
for (const trackId of thumbInFlightTrackIds) this.thumbnailInFlight.add(trackId);
|
|
13854
|
+
const firstFrameInFlightTrackIds = firstFrameTargets.map((t) => t.trackId);
|
|
13855
|
+
for (const trackId of firstFrameInFlightTrackIds) this.firstFrameInFlight.add(trackId);
|
|
13856
|
+
const lastFrameInFlightTrackIds = snapshotTargets.filter((t) => t.rollingLastFrame).map((t) => t.trackId);
|
|
13857
|
+
for (const trackId of lastFrameInFlightTrackIds) this.lastFrameInFlight.add(trackId);
|
|
13858
|
+
const dispatchTimestamp = result.timestamp;
|
|
13797
13859
|
const rasterFallbackWantedTrackIds = /* @__PURE__ */ new Set();
|
|
13798
13860
|
for (const t of firstFrameTargets) if (!this.trackClosureState.get(t.trackId)?.rasterFallback) rasterFallbackWantedTrackIds.add(t.trackId);
|
|
13799
13861
|
for (const s of snapshotTargets) if (!this.trackClosureState.get(s.trackId)?.rasterFallback) rasterFallbackWantedTrackIds.add(s.trackId);
|
|
13862
|
+
const targetedThisFrame = new Set([...firstFrameTargets.map((t) => t.trackId), ...snapshotTargets.map((s) => s.trackId)]);
|
|
13863
|
+
const rasterFallbackCandidates = [];
|
|
13864
|
+
for (const t of result.tracked) {
|
|
13865
|
+
if (t.matchedThisFrame === false) continue;
|
|
13866
|
+
const closure = this.trackClosureState.get(t.trackId);
|
|
13867
|
+
if (!closure?.confirmed) continue;
|
|
13868
|
+
if (closure.rasterFallback) continue;
|
|
13869
|
+
if (targetedThisFrame.has(t.trackId)) continue;
|
|
13870
|
+
rasterFallbackWantedTrackIds.add(t.trackId);
|
|
13871
|
+
rasterFallbackCandidates.push({
|
|
13872
|
+
trackId: t.trackId,
|
|
13873
|
+
timestamp: result.timestamp,
|
|
13874
|
+
bbox: { ...t.bbox }
|
|
13875
|
+
});
|
|
13876
|
+
}
|
|
13800
13877
|
this.eventMediaDispatcher.captureForFrame({
|
|
13801
13878
|
deviceId,
|
|
13802
13879
|
frameHandle,
|
|
@@ -13804,7 +13881,8 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13804
13881
|
trackFrames: firstFrameTargets,
|
|
13805
13882
|
snapshots: snapshotTargets,
|
|
13806
13883
|
cropPadding: mediaSettings.cropPadding,
|
|
13807
|
-
rasterFallbackWantedTrackIds
|
|
13884
|
+
rasterFallbackWantedTrackIds,
|
|
13885
|
+
rasterFallbackCandidates
|
|
13808
13886
|
}).then((res) => {
|
|
13809
13887
|
for (const rf of res.rasterFallbacks) {
|
|
13810
13888
|
const st = this.ensureTrackClosureState(deviceId, rf.trackId);
|
|
@@ -13824,8 +13902,12 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13824
13902
|
mediaKey: s.mediaKey
|
|
13825
13903
|
});
|
|
13826
13904
|
for (const trackId of res.thumbnailTrackIds) this.thumbnailLandedTracks.add(trackId);
|
|
13905
|
+
for (const trackId of res.firstFrameTrackIds) this.firstFramePendingTracks.delete(trackId);
|
|
13906
|
+
for (const trackId of res.lastFrameTrackIds) this.lastFrameAtByTrack.set(trackId, dispatchTimestamp);
|
|
13827
13907
|
}).catch(() => {}).finally(() => {
|
|
13828
13908
|
for (const trackId of thumbInFlightTrackIds) this.thumbnailInFlight.delete(trackId);
|
|
13909
|
+
for (const trackId of firstFrameInFlightTrackIds) this.firstFrameInFlight.delete(trackId);
|
|
13910
|
+
for (const trackId of lastFrameInFlightTrackIds) this.lastFrameInFlight.delete(trackId);
|
|
13829
13911
|
});
|
|
13830
13912
|
}
|
|
13831
13913
|
}
|
|
@@ -13889,6 +13971,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13889
13971
|
}
|
|
13890
13972
|
overlayDetections = frame.detections;
|
|
13891
13973
|
}
|
|
13974
|
+
const hasMovingTrack = result.tracked.some((t) => t.state === "moving" || t.state === "entered" || t.state === "left");
|
|
13892
13975
|
this.ctx.eventBus.emit({
|
|
13893
13976
|
id: `pa-${(0, node_crypto.randomUUID)()}`,
|
|
13894
13977
|
timestamp: new Date(result.timestamp),
|
|
@@ -13903,7 +13986,8 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13903
13986
|
timestamp: result.timestamp,
|
|
13904
13987
|
frameWidth: result.frameWidth,
|
|
13905
13988
|
frameHeight: result.frameHeight,
|
|
13906
|
-
detections: overlayDetections
|
|
13989
|
+
detections: overlayDetections,
|
|
13990
|
+
hasMovingTrack
|
|
13907
13991
|
}
|
|
13908
13992
|
});
|
|
13909
13993
|
}
|
|
@@ -14527,6 +14611,34 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
14527
14611
|
});
|
|
14528
14612
|
this.emitTrackLifecycle(payload, timestamp);
|
|
14529
14613
|
}
|
|
14614
|
+
/**
|
|
14615
|
+
* DEFECT A: build `firstFrame` RETRY targets for confirmed-birth tracks whose
|
|
14616
|
+
* birth capture never landed. A track qualifies when it is still pending
|
|
14617
|
+
* (`firstFramePendingTracks`), is OBSERVED this frame (`matchedThisFrame` — a
|
|
14618
|
+
* coasted/stale box would crop the empty scene), is NOT already targeted this
|
|
14619
|
+
* frame (its birth target), and has no capture in flight (RC-1). Each target is
|
|
14620
|
+
* stamped with the CURRENT frame timestamp so the media carries the real
|
|
14621
|
+
* capture instant, not the birth ts — the earliest AVAILABLE view still beats
|
|
14622
|
+
* no firstFrame at all.
|
|
14623
|
+
*/
|
|
14624
|
+
collectFirstFrameRetries(tracked, timestamp, alreadyTargeted) {
|
|
14625
|
+
if (this.firstFramePendingTracks.size === 0) return [];
|
|
14626
|
+
const bornThisFrame = new Set(alreadyTargeted.map((t) => t.trackId));
|
|
14627
|
+
const retries = [];
|
|
14628
|
+
for (const t of tracked) {
|
|
14629
|
+
if (t.matchedThisFrame === false) continue;
|
|
14630
|
+
if (!this.firstFramePendingTracks.has(t.trackId)) continue;
|
|
14631
|
+
if (bornThisFrame.has(t.trackId)) continue;
|
|
14632
|
+
if (this.firstFrameInFlight.has(t.trackId)) continue;
|
|
14633
|
+
retries.push({
|
|
14634
|
+
trackId: t.trackId,
|
|
14635
|
+
timestamp,
|
|
14636
|
+
bbox: { ...t.bbox },
|
|
14637
|
+
...t.label ? { label: t.label } : {}
|
|
14638
|
+
});
|
|
14639
|
+
}
|
|
14640
|
+
return retries;
|
|
14641
|
+
}
|
|
14530
14642
|
buildSnapshotTargets(deviceId, tracked, timestamp, media, frameWidth, frameHeight) {
|
|
14531
14643
|
const targets = [];
|
|
14532
14644
|
for (const t of tracked) {
|
|
@@ -14560,19 +14672,19 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
14560
14672
|
now: timestamp,
|
|
14561
14673
|
intervalMs: media.snapshotIntervalMs
|
|
14562
14674
|
});
|
|
14563
|
-
|
|
14675
|
+
const rollingLastFrame = plan.rollingLastFrame && !this.lastFrameInFlight.has(t.trackId);
|
|
14564
14676
|
if (plan.appendSnapshot) this.trackStore.markSnapshotPending(t.trackId, timestamp, t.bbox);
|
|
14565
14677
|
const plausibleBox = isPlausibleThumbnailBox(t.bbox, frameWidth, frameHeight);
|
|
14566
14678
|
const bestThumbnail = plan.bestThumbnail && plausibleBox && !this.thumbnailInFlight.has(t.trackId);
|
|
14567
14679
|
const keyFrame = isNewBest && plausibleBox;
|
|
14568
|
-
if (!plan.appendSnapshot && !
|
|
14680
|
+
if (!plan.appendSnapshot && !rollingLastFrame && !bestThumbnail && !keyFrame) continue;
|
|
14569
14681
|
targets.push({
|
|
14570
14682
|
trackId: t.trackId,
|
|
14571
14683
|
timestamp,
|
|
14572
14684
|
bbox: { ...t.bbox },
|
|
14573
14685
|
...t.label ? { label: t.label } : {},
|
|
14574
14686
|
appendSnapshot: plan.appendSnapshot,
|
|
14575
|
-
rollingLastFrame
|
|
14687
|
+
rollingLastFrame,
|
|
14576
14688
|
bestThumbnail,
|
|
14577
14689
|
keyFrame
|
|
14578
14690
|
});
|
|
@@ -14918,6 +15030,9 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
14918
15030
|
this.bestFrameTracker.delete(t.trackId);
|
|
14919
15031
|
this.objectEmbeddingBestSelector.delete(t.trackId);
|
|
14920
15032
|
this.lastFrameAtByTrack.delete(t.trackId);
|
|
15033
|
+
this.lastFrameInFlight.delete(t.trackId);
|
|
15034
|
+
this.firstFramePendingTracks.delete(t.trackId);
|
|
15035
|
+
this.firstFrameInFlight.delete(t.trackId);
|
|
14921
15036
|
this.thumbnailLandedTracks.delete(t.trackId);
|
|
14922
15037
|
this.thumbnailInFlight.delete(t.trackId);
|
|
14923
15038
|
this.keyFrameInFlight.delete(t.trackId);
|
|
@@ -14995,6 +15110,9 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
14995
15110
|
this.bestFrameTracker.delete(trackId);
|
|
14996
15111
|
this.objectEmbeddingBestSelector.delete(trackId);
|
|
14997
15112
|
this.lastFrameAtByTrack.delete(trackId);
|
|
15113
|
+
this.lastFrameInFlight.delete(trackId);
|
|
15114
|
+
this.firstFramePendingTracks.delete(trackId);
|
|
15115
|
+
this.firstFrameInFlight.delete(trackId);
|
|
14998
15116
|
this.thumbnailLandedTracks.delete(trackId);
|
|
14999
15117
|
this.thumbnailInFlight.delete(trackId);
|
|
15000
15118
|
this.keyFrameInFlight.delete(trackId);
|
|
@@ -15223,6 +15341,9 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
15223
15341
|
this.bestFrameTracker.delete(track.trackId);
|
|
15224
15342
|
this.objectEmbeddingBestSelector.delete(track.trackId);
|
|
15225
15343
|
this.lastFrameAtByTrack.delete(track.trackId);
|
|
15344
|
+
this.lastFrameInFlight.delete(track.trackId);
|
|
15345
|
+
this.firstFramePendingTracks.delete(track.trackId);
|
|
15346
|
+
this.firstFrameInFlight.delete(track.trackId);
|
|
15226
15347
|
this.thumbnailLandedTracks.delete(track.trackId);
|
|
15227
15348
|
this.thumbnailInFlight.delete(track.trackId);
|
|
15228
15349
|
this.keyFrameInFlight.delete(track.trackId);
|
|
@@ -15582,7 +15703,9 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
15582
15703
|
return input.kind ? all.filter((m) => m.kind === input.kind) : all;
|
|
15583
15704
|
}
|
|
15584
15705
|
async getTrackMedia(input) {
|
|
15585
|
-
|
|
15706
|
+
const all = await (this.mediaStore?.listByOwner("track", input.trackId) ?? Promise.resolve([]));
|
|
15707
|
+
const kinds = input.kinds;
|
|
15708
|
+
return kinds && kinds.length > 0 ? all.filter((m) => kinds.includes(m.kind)) : all;
|
|
15586
15709
|
}
|
|
15587
15710
|
/**
|
|
15588
15711
|
* Search object events by text using CLIP cosine similarity.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as hydrateSchema, D as object, E as number, O as string, S as createEvent, T as boolean, _ as videoclipsCapability, a as OpsLogEntrySchema, b as BaseAddon, c as buildEventKindDescriptor, d as faceGalleryCapability, g as subKindsOf, h as plateGalleryCapability, i as MACRO_LABELS, k as EventCategory, l as cosineSimilarity, m as pipelineAnalyticsCapability, n as EVENT_KIND_BY_CAP, o as addonWidgetsSourceCapability, p as nodePin, r as EVENT_PAD_MS, s as audioMetricsCapability, t as DEFAULT_EVENT_COLOR, v as zoneAnalyticsCapability, w as array, x as DeviceType, y as errMsg } from "../dist-
|
|
1
|
+
import { C as hydrateSchema, D as object, E as number, O as string, S as createEvent, T as boolean, _ as videoclipsCapability, a as OpsLogEntrySchema, b as BaseAddon, c as buildEventKindDescriptor, d as faceGalleryCapability, g as subKindsOf, h as plateGalleryCapability, i as MACRO_LABELS, k as EventCategory, l as cosineSimilarity, m as pipelineAnalyticsCapability, n as EVENT_KIND_BY_CAP, o as addonWidgetsSourceCapability, p as nodePin, r as EVENT_PAD_MS, s as audioMetricsCapability, t as DEFAULT_EVENT_COLOR, v as zoneAnalyticsCapability, w as array, x as DeviceType, y as errMsg } from "../dist-Db0CsDGK.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import sharp from "sharp";
|
|
4
4
|
//#region src/pipeline-analytics/videoclips-provider.ts
|
|
@@ -6760,9 +6760,12 @@ var EventMediaDispatcher = class {
|
|
|
6760
6760
|
const empty = {
|
|
6761
6761
|
storedSnapshots: [],
|
|
6762
6762
|
thumbnailTrackIds: [],
|
|
6763
|
+
firstFrameTrackIds: [],
|
|
6764
|
+
lastFrameTrackIds: [],
|
|
6763
6765
|
rasterFallbacks: []
|
|
6764
6766
|
};
|
|
6765
|
-
|
|
6767
|
+
const extraCandidateCount = input.rasterFallbackCandidates?.length ?? 0;
|
|
6768
|
+
if (events.length === 0 && trackFrames.length === 0 && snapshots.length === 0 && extraCandidateCount === 0) return empty;
|
|
6766
6769
|
let decoded;
|
|
6767
6770
|
try {
|
|
6768
6771
|
decoded = await resolveFrame(frameHandle, { getRemoteFrame: this.deps.getRemoteFrame });
|
|
@@ -6812,44 +6815,59 @@ var EventMediaDispatcher = class {
|
|
|
6812
6815
|
});
|
|
6813
6816
|
return empty;
|
|
6814
6817
|
}
|
|
6815
|
-
const rasterFallbacks = await this.collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, input.cropPadding, input.rasterFallbackWantedTrackIds);
|
|
6818
|
+
const rasterFallbacks = await this.collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, input.cropPadding, input.rasterFallbackWantedTrackIds, input.rasterFallbackCandidates);
|
|
6816
6819
|
for (const ev of events) await this.writeEventMedia(deviceId, frameHandle, fw, fh, ev, input.cropPadding);
|
|
6817
|
-
|
|
6820
|
+
const firstFrameTrackIds = [];
|
|
6821
|
+
for (const tf of trackFrames) if (await this.writeTrackFrame(deviceId, frameHandle, frameData, fw, fh, tf)) firstFrameTrackIds.push(tf.trackId);
|
|
6818
6822
|
const storedSnapshots = [];
|
|
6819
6823
|
const thumbnailTrackIds = [];
|
|
6824
|
+
const lastFrameTrackIds = [];
|
|
6820
6825
|
for (const sn of snapshots) {
|
|
6821
6826
|
const res = await this.writeTrackSnapshot(deviceId, frameHandle, frameData, fw, fh, sn);
|
|
6822
6827
|
if (res.storedSnapshot) storedSnapshots.push(res.storedSnapshot);
|
|
6823
6828
|
if (res.thumbnailWritten) thumbnailTrackIds.push(sn.trackId);
|
|
6829
|
+
if (res.lastFrameWritten) lastFrameTrackIds.push(sn.trackId);
|
|
6824
6830
|
}
|
|
6825
6831
|
return {
|
|
6826
6832
|
storedSnapshots,
|
|
6827
6833
|
thumbnailTrackIds,
|
|
6834
|
+
firstFrameTrackIds,
|
|
6835
|
+
lastFrameTrackIds,
|
|
6828
6836
|
rasterFallbacks
|
|
6829
6837
|
};
|
|
6830
6838
|
}
|
|
6831
6839
|
/**
|
|
6832
|
-
* Cut ONE clean detection-raster subject crop per WANTED track
|
|
6833
|
-
*
|
|
6834
|
-
*
|
|
6835
|
-
*
|
|
6836
|
-
*
|
|
6837
|
-
*
|
|
6840
|
+
* Cut ONE clean detection-raster subject crop per WANTED track observed this
|
|
6841
|
+
* frame — the "first available detection-raster frame" of the zero-media
|
|
6842
|
+
* fallback. Candidate bboxes come from this frame's firstFrame/snapshot targets
|
|
6843
|
+
* AND (widened) the explicit `extraCandidates` (confirmed tracks with no such
|
|
6844
|
+
* target). Cropped from the already-resolved `frameData` at its REAL resolution
|
|
6845
|
+
* via {@link extractCrop} (extract-only — NEVER upscaled). Deduped per trackId
|
|
6846
|
+
* (first candidate wins; target-derived candidates precede the extras). A
|
|
6847
|
+
* per-track encode failure is skipped (logged) — a missing fallback simply
|
|
6838
6848
|
* leaves the track with no last-resort preview, never an error.
|
|
6839
6849
|
*/
|
|
6840
|
-
async collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, cropPadding, wanted) {
|
|
6850
|
+
async collectRasterFallbacks(frameData, fw, fh, trackFrames, snapshots, cropPadding, wanted, extraCandidates) {
|
|
6841
6851
|
if (!wanted || wanted.size === 0) return [];
|
|
6842
6852
|
const seen = /* @__PURE__ */ new Set();
|
|
6843
6853
|
const out = [];
|
|
6844
|
-
const candidates = [
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6854
|
+
const candidates = [
|
|
6855
|
+
...trackFrames.map((t) => ({
|
|
6856
|
+
trackId: t.trackId,
|
|
6857
|
+
timestamp: t.timestamp,
|
|
6858
|
+
bbox: t.bbox
|
|
6859
|
+
})),
|
|
6860
|
+
...snapshots.map((s) => ({
|
|
6861
|
+
trackId: s.trackId,
|
|
6862
|
+
timestamp: s.timestamp,
|
|
6863
|
+
bbox: s.bbox
|
|
6864
|
+
})),
|
|
6865
|
+
...(extraCandidates ?? []).map((c) => ({
|
|
6866
|
+
trackId: c.trackId,
|
|
6867
|
+
timestamp: c.timestamp,
|
|
6868
|
+
bbox: c.bbox
|
|
6869
|
+
}))
|
|
6870
|
+
];
|
|
6853
6871
|
for (const c of candidates) {
|
|
6854
6872
|
if (!wanted.has(c.trackId) || seen.has(c.trackId)) continue;
|
|
6855
6873
|
seen.add(c.trackId);
|
|
@@ -6883,11 +6901,15 @@ var EventMediaDispatcher = class {
|
|
|
6883
6901
|
* TrackStore wiring (null when `appendSnapshot` is false or the encode
|
|
6884
6902
|
* failed). `thumbnailWritten` reports whether a best `thumbnail` actually
|
|
6885
6903
|
* landed this frame (#27-A) so the caller can stop forcing retries.
|
|
6904
|
+
* `lastFrameWritten` reports whether the rolling `lastFrame` actually landed
|
|
6905
|
+
* (DEFECT B) so the caller advances its `lastFrameAt` clock ONLY on a real
|
|
6906
|
+
* write — a dropped roll leaves the clock put and retries next frame.
|
|
6886
6907
|
*/
|
|
6887
6908
|
async writeTrackSnapshot(deviceId, frameHandle, frameData, fw, fh, sn) {
|
|
6888
6909
|
if (!sn.appendSnapshot && !sn.rollingLastFrame && !sn.bestThumbnail) return {
|
|
6889
6910
|
storedSnapshot: null,
|
|
6890
|
-
thumbnailWritten: false
|
|
6911
|
+
thumbnailWritten: false,
|
|
6912
|
+
lastFrameWritten: false
|
|
6891
6913
|
};
|
|
6892
6914
|
let boxed = null;
|
|
6893
6915
|
if (sn.appendSnapshot || sn.rollingLastFrame) boxed = await this.boxedTimelineFrame(deviceId, frameHandle, frameData, fw, fh, sn.trackId, sn.bbox, sn.label);
|
|
@@ -6908,7 +6930,8 @@ var EventMediaDispatcher = class {
|
|
|
6908
6930
|
bbox: sn.bbox
|
|
6909
6931
|
};
|
|
6910
6932
|
} catch {}
|
|
6911
|
-
|
|
6933
|
+
let lastFrameWritten = false;
|
|
6934
|
+
if (sn.rollingLastFrame && boxed) lastFrameWritten = await this.replaceKind(deviceId, sn.trackId, "lastFrame", sn.timestamp, boxed);
|
|
6912
6935
|
let thumbnailWritten = false;
|
|
6913
6936
|
if (sn.bestThumbnail) {
|
|
6914
6937
|
const variants = await this.cropSubjectVariants(frameHandle, fw, fh, sn.bbox);
|
|
@@ -6919,7 +6942,8 @@ var EventMediaDispatcher = class {
|
|
|
6919
6942
|
}
|
|
6920
6943
|
return {
|
|
6921
6944
|
storedSnapshot: stored,
|
|
6922
|
-
thumbnailWritten
|
|
6945
|
+
thumbnailWritten,
|
|
6946
|
+
lastFrameWritten
|
|
6923
6947
|
};
|
|
6924
6948
|
}
|
|
6925
6949
|
/**
|
|
@@ -7116,7 +7140,7 @@ var EventMediaDispatcher = class {
|
|
|
7116
7140
|
}
|
|
7117
7141
|
async writeTrackFrame(deviceId, frameHandle, frameData, fw, fh, tf) {
|
|
7118
7142
|
const boxed = await this.boxedTimelineFrame(deviceId, frameHandle, frameData, fw, fh, tf.trackId, tf.bbox, tf.label);
|
|
7119
|
-
if (!boxed) return;
|
|
7143
|
+
if (!boxed) return false;
|
|
7120
7144
|
try {
|
|
7121
7145
|
await this.deps.mediaStore.put({
|
|
7122
7146
|
deviceId,
|
|
@@ -7126,6 +7150,7 @@ var EventMediaDispatcher = class {
|
|
|
7126
7150
|
timestamp: tf.timestamp,
|
|
7127
7151
|
data: boxed
|
|
7128
7152
|
});
|
|
7153
|
+
return true;
|
|
7129
7154
|
} catch (err) {
|
|
7130
7155
|
this.deps.logger.warn("event media: track frame failed", {
|
|
7131
7156
|
tags: { deviceId },
|
|
@@ -7135,6 +7160,7 @@ var EventMediaDispatcher = class {
|
|
|
7135
7160
|
error: err instanceof Error ? err.message : String(err)
|
|
7136
7161
|
}
|
|
7137
7162
|
});
|
|
7163
|
+
return false;
|
|
7138
7164
|
}
|
|
7139
7165
|
}
|
|
7140
7166
|
};
|
|
@@ -12544,6 +12570,32 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
12544
12570
|
* where no `snapshot` is appended, so it is never byte-identical to a stored
|
|
12545
12571
|
* `snapshot` (kills the end-of-track duplicate). Cleared on track end. */
|
|
12546
12572
|
lastFrameAtByTrack = /* @__PURE__ */ new Map();
|
|
12573
|
+
/** Tracks with a rolling-`lastFrame` capture CURRENTLY in flight (RC-1,
|
|
12574
|
+
* DEFECT B). The `lastFrameAt` clock now advances ONLY when the write lands
|
|
12575
|
+
* (dispatcher completion), not synchronously at plan time — so a dropped roll
|
|
12576
|
+
* (recycled/blank frame) leaves the clock put and re-rolls next frame. Without
|
|
12577
|
+
* an in-flight guard that re-roll would fire EVERY frame while the first
|
|
12578
|
+
* capture is still resolving (0.1–3s under the native path), stacking N
|
|
12579
|
+
* overlapping captures. While a track sits here `buildSnapshotTargets`
|
|
12580
|
+
* suppresses a new rolling-`lastFrame` request; the pending dispatch clears it
|
|
12581
|
+
* (and, if it landed, advances `lastFrameAtByTrack`). Cleared on track end +
|
|
12582
|
+
* reset. */
|
|
12583
|
+
lastFrameInFlight = /* @__PURE__ */ new Set();
|
|
12584
|
+
/** Confirmed-birth tracks whose `firstFrame` has NOT yet actually persisted
|
|
12585
|
+
* (DEFECT A). Seeded on a confirmed birth (alongside the birth firstFrame
|
|
12586
|
+
* target) and removed the moment the write lands. While a track sits here and
|
|
12587
|
+
* is matched this frame, `collectFirstFrameRetries` re-schedules a firstFrame
|
|
12588
|
+
* target so a birth capture dropped by a recycled/blank live frame is retried
|
|
12589
|
+
* on a later frame (earliest available view still beats none). Scoped to
|
|
12590
|
+
* confirmed births ONLY — a suppressed false-positive birth or resurrection
|
|
12591
|
+
* never enters, so it never gets a retro firstFrame. Cleared on track end +
|
|
12592
|
+
* reset. */
|
|
12593
|
+
firstFramePendingTracks = /* @__PURE__ */ new Set();
|
|
12594
|
+
/** Tracks with a `firstFrame` capture CURRENTLY in flight (RC-1, DEFECT A).
|
|
12595
|
+
* Mirrors `thumbnailInFlight`: while a firstFrame capture is resolving the
|
|
12596
|
+
* per-frame retry is suppressed so at most one capture is outstanding per
|
|
12597
|
+
* track. Cleared on dispatch settle (+ track end / reset). */
|
|
12598
|
+
firstFrameInFlight = /* @__PURE__ */ new Set();
|
|
12547
12599
|
/** Track ids whose best `thumbnail` has ACTUALLY been persisted (#27-A). A
|
|
12548
12600
|
* track absent here keeps forcing a best-thumbnail capture every frame until
|
|
12549
12601
|
* one lands, so a short / high-churn track whose first capture was dropped
|
|
@@ -13438,6 +13490,9 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13438
13490
|
this.dropoutSkipsByKey.clear();
|
|
13439
13491
|
this.bestFrameTracker.clear();
|
|
13440
13492
|
this.lastFrameAtByTrack.clear();
|
|
13493
|
+
this.lastFrameInFlight.clear();
|
|
13494
|
+
this.firstFramePendingTracks.clear();
|
|
13495
|
+
this.firstFrameInFlight.clear();
|
|
13441
13496
|
this.thumbnailLandedTracks.clear();
|
|
13442
13497
|
this.thumbnailInFlight.clear();
|
|
13443
13498
|
this.keyFrameInFlight.clear();
|
|
@@ -13609,15 +13664,16 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13609
13664
|
className: t.className,
|
|
13610
13665
|
source
|
|
13611
13666
|
} });
|
|
13612
|
-
if (this.eventMediaDispatcher
|
|
13613
|
-
|
|
13667
|
+
if (this.eventMediaDispatcher) {
|
|
13668
|
+
this.firstFramePendingTracks.add(id);
|
|
13669
|
+
this.trackStore.seedSnapshotClock(id, result.timestamp, t.bbox);
|
|
13670
|
+
this.lastFrameAtByTrack.set(id, result.timestamp);
|
|
13671
|
+
if (frameHandle) firstFrameTargets.push({
|
|
13614
13672
|
trackId: id,
|
|
13615
13673
|
timestamp: result.timestamp,
|
|
13616
13674
|
bbox: { ...t.bbox },
|
|
13617
13675
|
...t.label ? { label: t.label } : {}
|
|
13618
13676
|
});
|
|
13619
|
-
this.trackStore.seedSnapshotClock(id, result.timestamp, t.bbox);
|
|
13620
|
-
this.lastFrameAtByTrack.set(id, result.timestamp);
|
|
13621
13677
|
}
|
|
13622
13678
|
this.ctx.eventBus.emit({
|
|
13623
13679
|
id: `pa-${randomUUID()}`,
|
|
@@ -13766,6 +13822,7 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13766
13822
|
for (const crops of childCropsByEvent.values()) for (const c of crops) if (c.kind === "faceCrop") faceCrops += 1;
|
|
13767
13823
|
else plateCrops += 1;
|
|
13768
13824
|
const snapshotTargets = this.buildSnapshotTargets(deviceId, result.tracked, result.timestamp, mediaSettings, result.frameWidth, result.frameHeight);
|
|
13825
|
+
for (const retry of this.collectFirstFrameRetries(result.tracked, result.timestamp, firstFrameTargets)) firstFrameTargets.push(retry);
|
|
13769
13826
|
const keyFrameTrackIds = selectKeyFrameTrackIds(snapshotTargets);
|
|
13770
13827
|
if (keyFrameTrackIds.length > 0) this.persistKeyFrames(deviceId, result.timestamp, keyFrameTrackIds, frameHandle);
|
|
13771
13828
|
if (eventTargets.length > 0 || firstFrameTargets.length > 0 || snapshotTargets.length > 0) {
|
|
@@ -13789,9 +13846,29 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13789
13846
|
} });
|
|
13790
13847
|
const thumbInFlightTrackIds = snapshotTargets.filter((t) => t.bestThumbnail).map((t) => t.trackId);
|
|
13791
13848
|
for (const trackId of thumbInFlightTrackIds) this.thumbnailInFlight.add(trackId);
|
|
13849
|
+
const firstFrameInFlightTrackIds = firstFrameTargets.map((t) => t.trackId);
|
|
13850
|
+
for (const trackId of firstFrameInFlightTrackIds) this.firstFrameInFlight.add(trackId);
|
|
13851
|
+
const lastFrameInFlightTrackIds = snapshotTargets.filter((t) => t.rollingLastFrame).map((t) => t.trackId);
|
|
13852
|
+
for (const trackId of lastFrameInFlightTrackIds) this.lastFrameInFlight.add(trackId);
|
|
13853
|
+
const dispatchTimestamp = result.timestamp;
|
|
13792
13854
|
const rasterFallbackWantedTrackIds = /* @__PURE__ */ new Set();
|
|
13793
13855
|
for (const t of firstFrameTargets) if (!this.trackClosureState.get(t.trackId)?.rasterFallback) rasterFallbackWantedTrackIds.add(t.trackId);
|
|
13794
13856
|
for (const s of snapshotTargets) if (!this.trackClosureState.get(s.trackId)?.rasterFallback) rasterFallbackWantedTrackIds.add(s.trackId);
|
|
13857
|
+
const targetedThisFrame = new Set([...firstFrameTargets.map((t) => t.trackId), ...snapshotTargets.map((s) => s.trackId)]);
|
|
13858
|
+
const rasterFallbackCandidates = [];
|
|
13859
|
+
for (const t of result.tracked) {
|
|
13860
|
+
if (t.matchedThisFrame === false) continue;
|
|
13861
|
+
const closure = this.trackClosureState.get(t.trackId);
|
|
13862
|
+
if (!closure?.confirmed) continue;
|
|
13863
|
+
if (closure.rasterFallback) continue;
|
|
13864
|
+
if (targetedThisFrame.has(t.trackId)) continue;
|
|
13865
|
+
rasterFallbackWantedTrackIds.add(t.trackId);
|
|
13866
|
+
rasterFallbackCandidates.push({
|
|
13867
|
+
trackId: t.trackId,
|
|
13868
|
+
timestamp: result.timestamp,
|
|
13869
|
+
bbox: { ...t.bbox }
|
|
13870
|
+
});
|
|
13871
|
+
}
|
|
13795
13872
|
this.eventMediaDispatcher.captureForFrame({
|
|
13796
13873
|
deviceId,
|
|
13797
13874
|
frameHandle,
|
|
@@ -13799,7 +13876,8 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13799
13876
|
trackFrames: firstFrameTargets,
|
|
13800
13877
|
snapshots: snapshotTargets,
|
|
13801
13878
|
cropPadding: mediaSettings.cropPadding,
|
|
13802
|
-
rasterFallbackWantedTrackIds
|
|
13879
|
+
rasterFallbackWantedTrackIds,
|
|
13880
|
+
rasterFallbackCandidates
|
|
13803
13881
|
}).then((res) => {
|
|
13804
13882
|
for (const rf of res.rasterFallbacks) {
|
|
13805
13883
|
const st = this.ensureTrackClosureState(deviceId, rf.trackId);
|
|
@@ -13819,8 +13897,12 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13819
13897
|
mediaKey: s.mediaKey
|
|
13820
13898
|
});
|
|
13821
13899
|
for (const trackId of res.thumbnailTrackIds) this.thumbnailLandedTracks.add(trackId);
|
|
13900
|
+
for (const trackId of res.firstFrameTrackIds) this.firstFramePendingTracks.delete(trackId);
|
|
13901
|
+
for (const trackId of res.lastFrameTrackIds) this.lastFrameAtByTrack.set(trackId, dispatchTimestamp);
|
|
13822
13902
|
}).catch(() => {}).finally(() => {
|
|
13823
13903
|
for (const trackId of thumbInFlightTrackIds) this.thumbnailInFlight.delete(trackId);
|
|
13904
|
+
for (const trackId of firstFrameInFlightTrackIds) this.firstFrameInFlight.delete(trackId);
|
|
13905
|
+
for (const trackId of lastFrameInFlightTrackIds) this.lastFrameInFlight.delete(trackId);
|
|
13824
13906
|
});
|
|
13825
13907
|
}
|
|
13826
13908
|
}
|
|
@@ -13884,6 +13966,7 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13884
13966
|
}
|
|
13885
13967
|
overlayDetections = frame.detections;
|
|
13886
13968
|
}
|
|
13969
|
+
const hasMovingTrack = result.tracked.some((t) => t.state === "moving" || t.state === "entered" || t.state === "left");
|
|
13887
13970
|
this.ctx.eventBus.emit({
|
|
13888
13971
|
id: `pa-${randomUUID()}`,
|
|
13889
13972
|
timestamp: new Date(result.timestamp),
|
|
@@ -13898,7 +13981,8 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
13898
13981
|
timestamp: result.timestamp,
|
|
13899
13982
|
frameWidth: result.frameWidth,
|
|
13900
13983
|
frameHeight: result.frameHeight,
|
|
13901
|
-
detections: overlayDetections
|
|
13984
|
+
detections: overlayDetections,
|
|
13985
|
+
hasMovingTrack
|
|
13902
13986
|
}
|
|
13903
13987
|
});
|
|
13904
13988
|
}
|
|
@@ -14522,6 +14606,34 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
14522
14606
|
});
|
|
14523
14607
|
this.emitTrackLifecycle(payload, timestamp);
|
|
14524
14608
|
}
|
|
14609
|
+
/**
|
|
14610
|
+
* DEFECT A: build `firstFrame` RETRY targets for confirmed-birth tracks whose
|
|
14611
|
+
* birth capture never landed. A track qualifies when it is still pending
|
|
14612
|
+
* (`firstFramePendingTracks`), is OBSERVED this frame (`matchedThisFrame` — a
|
|
14613
|
+
* coasted/stale box would crop the empty scene), is NOT already targeted this
|
|
14614
|
+
* frame (its birth target), and has no capture in flight (RC-1). Each target is
|
|
14615
|
+
* stamped with the CURRENT frame timestamp so the media carries the real
|
|
14616
|
+
* capture instant, not the birth ts — the earliest AVAILABLE view still beats
|
|
14617
|
+
* no firstFrame at all.
|
|
14618
|
+
*/
|
|
14619
|
+
collectFirstFrameRetries(tracked, timestamp, alreadyTargeted) {
|
|
14620
|
+
if (this.firstFramePendingTracks.size === 0) return [];
|
|
14621
|
+
const bornThisFrame = new Set(alreadyTargeted.map((t) => t.trackId));
|
|
14622
|
+
const retries = [];
|
|
14623
|
+
for (const t of tracked) {
|
|
14624
|
+
if (t.matchedThisFrame === false) continue;
|
|
14625
|
+
if (!this.firstFramePendingTracks.has(t.trackId)) continue;
|
|
14626
|
+
if (bornThisFrame.has(t.trackId)) continue;
|
|
14627
|
+
if (this.firstFrameInFlight.has(t.trackId)) continue;
|
|
14628
|
+
retries.push({
|
|
14629
|
+
trackId: t.trackId,
|
|
14630
|
+
timestamp,
|
|
14631
|
+
bbox: { ...t.bbox },
|
|
14632
|
+
...t.label ? { label: t.label } : {}
|
|
14633
|
+
});
|
|
14634
|
+
}
|
|
14635
|
+
return retries;
|
|
14636
|
+
}
|
|
14525
14637
|
buildSnapshotTargets(deviceId, tracked, timestamp, media, frameWidth, frameHeight) {
|
|
14526
14638
|
const targets = [];
|
|
14527
14639
|
for (const t of tracked) {
|
|
@@ -14555,19 +14667,19 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
14555
14667
|
now: timestamp,
|
|
14556
14668
|
intervalMs: media.snapshotIntervalMs
|
|
14557
14669
|
});
|
|
14558
|
-
|
|
14670
|
+
const rollingLastFrame = plan.rollingLastFrame && !this.lastFrameInFlight.has(t.trackId);
|
|
14559
14671
|
if (plan.appendSnapshot) this.trackStore.markSnapshotPending(t.trackId, timestamp, t.bbox);
|
|
14560
14672
|
const plausibleBox = isPlausibleThumbnailBox(t.bbox, frameWidth, frameHeight);
|
|
14561
14673
|
const bestThumbnail = plan.bestThumbnail && plausibleBox && !this.thumbnailInFlight.has(t.trackId);
|
|
14562
14674
|
const keyFrame = isNewBest && plausibleBox;
|
|
14563
|
-
if (!plan.appendSnapshot && !
|
|
14675
|
+
if (!plan.appendSnapshot && !rollingLastFrame && !bestThumbnail && !keyFrame) continue;
|
|
14564
14676
|
targets.push({
|
|
14565
14677
|
trackId: t.trackId,
|
|
14566
14678
|
timestamp,
|
|
14567
14679
|
bbox: { ...t.bbox },
|
|
14568
14680
|
...t.label ? { label: t.label } : {},
|
|
14569
14681
|
appendSnapshot: plan.appendSnapshot,
|
|
14570
|
-
rollingLastFrame
|
|
14682
|
+
rollingLastFrame,
|
|
14571
14683
|
bestThumbnail,
|
|
14572
14684
|
keyFrame
|
|
14573
14685
|
});
|
|
@@ -14913,6 +15025,9 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
14913
15025
|
this.bestFrameTracker.delete(t.trackId);
|
|
14914
15026
|
this.objectEmbeddingBestSelector.delete(t.trackId);
|
|
14915
15027
|
this.lastFrameAtByTrack.delete(t.trackId);
|
|
15028
|
+
this.lastFrameInFlight.delete(t.trackId);
|
|
15029
|
+
this.firstFramePendingTracks.delete(t.trackId);
|
|
15030
|
+
this.firstFrameInFlight.delete(t.trackId);
|
|
14916
15031
|
this.thumbnailLandedTracks.delete(t.trackId);
|
|
14917
15032
|
this.thumbnailInFlight.delete(t.trackId);
|
|
14918
15033
|
this.keyFrameInFlight.delete(t.trackId);
|
|
@@ -14990,6 +15105,9 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
14990
15105
|
this.bestFrameTracker.delete(trackId);
|
|
14991
15106
|
this.objectEmbeddingBestSelector.delete(trackId);
|
|
14992
15107
|
this.lastFrameAtByTrack.delete(trackId);
|
|
15108
|
+
this.lastFrameInFlight.delete(trackId);
|
|
15109
|
+
this.firstFramePendingTracks.delete(trackId);
|
|
15110
|
+
this.firstFrameInFlight.delete(trackId);
|
|
14993
15111
|
this.thumbnailLandedTracks.delete(trackId);
|
|
14994
15112
|
this.thumbnailInFlight.delete(trackId);
|
|
14995
15113
|
this.keyFrameInFlight.delete(trackId);
|
|
@@ -15218,6 +15336,9 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
15218
15336
|
this.bestFrameTracker.delete(track.trackId);
|
|
15219
15337
|
this.objectEmbeddingBestSelector.delete(track.trackId);
|
|
15220
15338
|
this.lastFrameAtByTrack.delete(track.trackId);
|
|
15339
|
+
this.lastFrameInFlight.delete(track.trackId);
|
|
15340
|
+
this.firstFramePendingTracks.delete(track.trackId);
|
|
15341
|
+
this.firstFrameInFlight.delete(track.trackId);
|
|
15221
15342
|
this.thumbnailLandedTracks.delete(track.trackId);
|
|
15222
15343
|
this.thumbnailInFlight.delete(track.trackId);
|
|
15223
15344
|
this.keyFrameInFlight.delete(track.trackId);
|
|
@@ -15577,7 +15698,9 @@ var PipelineAnalyticsAddon = class extends BaseAddon {
|
|
|
15577
15698
|
return input.kind ? all.filter((m) => m.kind === input.kind) : all;
|
|
15578
15699
|
}
|
|
15579
15700
|
async getTrackMedia(input) {
|
|
15580
|
-
|
|
15701
|
+
const all = await (this.mediaStore?.listByOwner("track", input.trackId) ?? Promise.resolve([]));
|
|
15702
|
+
const kinds = input.kinds;
|
|
15703
|
+
return kinds && kinds.length > 0 ? all.filter((m) => kinds.includes(m.kind)) : all;
|
|
15581
15704
|
}
|
|
15582
15705
|
/**
|
|
15583
15706
|
* Search object events by text using CLIP cosine similarity.
|
|
@@ -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-ACzsl3tP.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.5",
|
|
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.DeviceMultiSelectField, e.DeviceSelectField, e.DeviceStepMatrix, 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.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.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.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.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.agentColumnKey, 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.deviceMatchesFilter, e.deviceOptionLabel, e.deviceRoleMeta, e.deviceRoleMetaOf, 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.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.resolveEventKindIcon, e.resolvePrimaryChild, e.resolveSensorDisplay, e.scrubReducer, e.selectedDeviceOptions, e.serializeRecordedCommand, e.shouldCommit, e.shouldEmit, e.shouldUseSingleNode, 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.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.useDeviceManagerApplyDeviceSettingsPatch, 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.useDeviceManagerGetDeviceLiveContribution, e.useDeviceManagerGetDeviceLiveInfoAggregate, e.useDeviceManagerGetDeviceSettingsAggregate, e.useDeviceManagerGetDeviceSettingsContribution, e.useDeviceManagerGetDeviceStatusAggregate, e.useDeviceManagerGetLinkedDevices, 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.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.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.useLlmSetDefault, e.useLlmStartRuntime, e.useLlmStopRuntime, e.useLlmTestProfile, e.useLlmUpsertProfile, 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.usePipelineAnalyticsDeleteDeviceEvents, e.usePipelineAnalyticsDeleteTracks, e.usePipelineAnalyticsGetActiveTracks, e.usePipelineAnalyticsGetAudioEvents, e.usePipelineAnalyticsGetDeviceLiveContribution, e.usePipelineAnalyticsGetDeviceSettingsContribution, e.usePipelineAnalyticsGetEventDensity, e.usePipelineAnalyticsGetEventMedia, e.usePipelineAnalyticsGetEventStoreFootprint, e.usePipelineAnalyticsGetKeyEvents, e.usePipelineAnalyticsGetMotionEvents, e.usePipelineAnalyticsGetObjectEvents, e.usePipelineAnalyticsGetSensorEvents, e.usePipelineAnalyticsGetTrack, e.usePipelineAnalyticsGetTrackMedia, e.usePipelineAnalyticsListEventKinds, e.usePipelineAnalyticsListOpsLog, e.usePipelineAnalyticsListRecentTracks, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsPruneEvents, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsPruneTracksBefore, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineAnalyticsWipeAllAnalytics, 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.usePipelineExecutorGetOrchestratorConfigSchema, e.usePipelineExecutorGetReferenceAudio, e.usePipelineExecutorGetReferenceAudioFiles, e.usePipelineExecutorGetReferenceImage, e.usePipelineExecutorGetSchema, e.usePipelineExecutorGetSelectedEngine, e.usePipelineExecutorGetVideoPipelineSteps, e.usePipelineExecutorInferCached, e.usePipelineExecutorKillEngine, e.usePipelineExecutorListLoadedEngines, e.usePipelineExecutorListReferenceImages, e.usePipelineExecutorListTemplates, 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.usePipelineOrchestratorGetCapabilityBindings, e.usePipelineOrchestratorGetDeviceLiveContribution, e.usePipelineOrchestratorGetDeviceSettingsContribution, e.usePipelineOrchestratorGetGlobalMetrics, e.usePipelineOrchestratorGetIngestOwner, e.usePipelineOrchestratorGetNodeInferenceDevices, e.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorGetPipelineDevicePin, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListTemplates, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorResetNodePipelineDefaults, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorSaveTemplate, e.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDetectWeight, e.usePipelineOrchestratorSetAgentInferenceDevices, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetAgentReachableHost, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepToggle, 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.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.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.useRecordingDeleteFootprint, e.useRecordingExportCancelExport, e.useRecordingExportCreateExport, e.useRecordingExportDeleteExport, e.useRecordingExportGetDownloadUrl, e.useRecordingExportGetExport, e.useRecordingExportListExports, e.useRecordingGetAvailability, e.useRecordingGetDaysWithRecordings, e.useRecordingGetDeviceConfig, e.useRecordingGetDeviceLiveContribution, e.useRecordingGetDeviceSettingsContribution, e.useRecordingGetPlaybackManifest, e.useRecordingGetStatus, e.useRecordingGetStorageUsage, e.useRecordingListOpsLog, e.useRecordingLocateSegment, e.useRecordingPruneFootage, e.useRecordingReadSegmentBytes, e.useRecordingRescanStorage, e.useRecordingSetDeviceConfig, e.useRemoteComponent, e.useSceneMonitorCaptureReference, e.useSceneMonitorCreateScene, e.useSceneMonitorDeleteReference, e.useSceneMonitorDeleteScene, e.useSceneMonitorGetStatus, e.useSceneMonitorListScenes, e.useSceneMonitorRecheckNow, e.useSceneMonitorUpdateScene, e.useScriptRunnerGetStatus, e.useScriptRunnerRun, e.useScriptRunnerStop, e.useScrubController, e.useServerManagementApplyServerUpdate, e.useServerManagementCheckServerUpdate, e.useServerManagementGetServerPackageStatus, e.useServerManagementRestartServer, e.useServerManagementRollbackServerUpdate, 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.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.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, d as n, l as o, o as r, u as s, a as t };
|