@camstack/addon-post-analysis 1.1.23 → 1.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{dist-DbgDsnRE.js → dist-B0VgBdBN.js} +573 -251
- package/dist/{dist-DiIUcFdN.mjs → dist-DRK78NMq.mjs} +573 -251
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/enrichment-engine/index.js +2 -2
- package/dist/enrichment-engine/index.mjs +1 -1
- package/dist/{node-CdzrYoKs.js → node-Cx0LM0Sq.js} +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BaXPYx2C.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BsRL9Bh-.mjs} +3 -3
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DtOrjE2U.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-CZ8URdDr.mjs → hostInit-sO1Drmtf.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +214 -43
- package/dist/pipeline-analytics/index.mjs +212 -41
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/dist/{resolve-frame-nQMd6Z8B.js → resolve-frame-DBXwF5fk.js} +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BEL-L4wR.mjs +0 -26
|
@@ -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-B0VgBdBN.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 { a as embeddingEncoderCapability, p as BaseAddon, s as hfModelUrl } from "../dist-
|
|
1
|
+
import { a as embeddingEncoderCapability, p as BaseAddon, s as hfModelUrl } from "../dist-DRK78NMq.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_resolve_frame = require("../resolve-frame-
|
|
5
|
+
const require_dist = require("../dist-B0VgBdBN.js");
|
|
6
|
+
const require_resolve_frame = require("../resolve-frame-DBXwF5fk.js");
|
|
7
7
|
let _camstack_shm_ring = require("@camstack/shm-ring");
|
|
8
8
|
//#region src/enrichment-engine/types.ts
|
|
9
9
|
var DEFAULT_ENRICHMENT_CONFIG = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as object, S as number, T as tuple, _ as createEvent, b as array, g as asJsonObject, h as EventCategory, p as BaseAddon, w as string, x as boolean, y as _enum } from "../dist-
|
|
1
|
+
import { C as object, S as number, T as tuple, _ as createEvent, b as array, g as asJsonObject, h as EventCategory, p as BaseAddon, w as string, x as boolean, y as _enum } from "../dist-DRK78NMq.mjs";
|
|
2
2
|
import { n as extractCrop, t as resolveFrame } from "../resolve-frame-CT1T1tWy.mjs";
|
|
3
3
|
import { FrameRingReaderCache } from "@camstack/shm-ring";
|
|
4
4
|
//#region src/enrichment-engine/types.ts
|
|
@@ -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-DtOrjE2U.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) => {
|
|
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
|
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.1.
|
|
6
|
+
version: "1.1.22",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.1.
|
|
21
|
+
version: "1.1.40",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.1.
|
|
36
|
+
version: "1.1.32",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region \0virtual:mf:__mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js
|
|
2
|
+
var e = "__mf_init__virtual:mf:__mfe_internal__addon_pipeline_analytics_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
|
|
3
|
+
if (!t) {
|
|
4
|
+
let n, r, i = new Promise((e, t) => {
|
|
5
|
+
n = e, r = t;
|
|
6
|
+
});
|
|
7
|
+
t = globalThis[e] = {
|
|
8
|
+
initPromise: i,
|
|
9
|
+
initResolve: n,
|
|
10
|
+
initReject: r
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
var n = t.initPromise, r = "__mf_module_cache__";
|
|
14
|
+
globalThis[r] ||= {
|
|
15
|
+
share: {},
|
|
16
|
+
remote: {}
|
|
17
|
+
}, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
|
|
18
|
+
var i = globalThis[r], a, o, s, c, l, u, d, f = (e) => {
|
|
19
|
+
e.AddonGlobalSettingsForm, e.AgentStepEditor, e.AlarmHeroCard, e.AlarmPanelInlineControl, e.AppShell, e.ArcKnob, e.AudioClassificationList, e.AudioLevelWaveform, e.AudioWaveform, e.AutotrackSection, e.BTN_COMPACT, e.BTN_COMPACT_DANGER, e.BTN_COMPACT_PRIMARY, e.BTN_COMPACT_WARNING, e.Badge, e.BatteryBadge, e.BottomSheet, e.Breadcrumb, e.BrightnessPanel, e.Button, e.ButtonControl, e.ButtonHeroCard, e.CENTER, e.CHIP_ACTIVE, e.CHIP_BASE, e.CHIP_INACTIVE, e.CLASS_COLORS, e.COLUMN_BREAKPOINT_CLASS, e.COLUMN_PRIORITY, e.COMMIT_DEDUPE_TOLERANCE_MS, e.COMMIT_DEDUPE_WINDOW_MS, e.CONTROL_CAP_NAMES, e.CONTROL_FILLS, e.CameraStreamPlayer, e.Card, e.Checkbox, e.ChildSectionAccordion, e.ClimatePanel, e.CodeBlock, e.CollapsibleCard, e.ConfigFormBuilder, e.ConfigFormField, e.ConfigSchemaField, e.ConfirmActionButton, e.ConfirmDialogProvider, e.ConsumablesPanel, e.ContainerChildrenProvider, e.ContainerPrimaryHero, e.ControlColumn, e.ControlHeroCard, e.ControlInlineControl, e.ControlPanel, e.CopyButton, e.CoverHeroCard, e.CoverInlineControl, e.CoverPanel, e.CustomFieldRenderersProvider, e.DEFAULT_COLOR, e.DEVICE_COLUMNS, e.DEVICE_LIST_PAGE_SIZE_KEY, e.DEVICE_LIST_PAGE_SIZE_OPTIONS, e.DEVICE_ROLE_META, e.DEVICE_TYPE_CONTROL, e.DEVICE_TYPE_META, e.DISPLAY_ICON_REGISTRY, e.DataTable, e.DetectionCanvas, e.DetectionOverlay, e.DetectionResultTree, e.DevShell, e.DeviceActivityPanel, e.DeviceBatchToolbar, e.DeviceCard, e.DeviceContextProvider, e.DeviceExportPanel, e.DeviceGrid, e.DeviceItem, e.DeviceList, e.Dialog, e.DialogContent, e.DialogDescription, e.DialogFooter, e.DialogHeader, e.DialogTitle, e.DialogTrigger, e.DiscoveryPanel, e.DoorbellRecentPanel, e.Dropdown, e.DropdownContent, e.DropdownItem, e.DropdownTrigger, e.DummyHeroCard, e.DummyInline, e.EmptyState, e.ErrorBox, e.EventStream, e.EyeOff, e.FILL, e.FanHeroCard, e.FanInlineControl, e.FanPanel, e.FilterBar, e.FloatingEventStream, e.FloatingLogStream, e.FloatingPanel, e.FormField, a = e.GRID_GAP, e.GRID_PAIRED, e.GRID_QUICK_STATS, e.GripTrack, e.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.MotionZonesSettings, e.NodeMultiSelectField, e.NodePicker, e.NodeSelectField, e.OfflineBadge, e.PHASE_CONFIG, e.PRIORITY, e.PTZOverlay, e.PageHeader, e.PhaseIcon, e.PipelineBuilder, e.PipelineRuntimeSelector, e.PipelineStep, e.PipelineTreeMatrix, e.PlayerOverlaysProvider, e.Popover, e.PopoverContent, e.PopoverRowAction, e.PopoverTrigger, e.PrimaryChildPicker, e.PrivacyMaskSettings, e.ProviderBadge, e.PtzPanel, e.QrCode, e.RECORDED_PLAYBACK_MODES, e.RIGHT, e.ROLE_DESCRIPTOR, e.RadialGauge, e.RecordedPlaybackProvider, e.RecordingPanel, e.ResponseLog, e.SECTION_BODY, e.SECTION_CARD, e.SECTION_HEADER, e.SPLIT_PANEL_OUTER, e.SPLIT_PANEL_SIDE, o = e.STACK_GAP, e.STATE_COLOR, e.ScopePicker, e.ScrollArea, e.Select, e.SemanticBadge, e.SensorHeroCard, e.SensorInlineControl, e.SensorValueAtom, e.Separator, e.Sidebar, e.SidebarItem, e.Skeleton, e.SlideOverPanel, e.SlideToggle, e.SnapshotButton, e.Square, e.StatCard, e.StateValuesStream, e.StatusBadge, e.StepTimings, e.StepTreeMaster, e.Stepper, e.StreamBrokerSelector, e.StreamPanel, e.Switch, e.SwitchHeroCard, e.SwitchInlineControl, e.SwitchPanel, e.SystemProvider, e.TEXT_FIELD_LABEL, e.TEXT_HINT, e.TEXT_METRIC, e.TEXT_SECTION_LABEL, e.TEXT_VALUE, e.TIMEZONES, e.Tabs, e.TabsContent, e.TabsList, e.TabsTrigger, e.TapToggle, e.ThemeProvider, e.ThermostatHeroCard, e.ThermostatInlineControl, e.TimezoneSelector, e.Tooltip, e.TooltipContent, e.TooltipTrigger, e.Trash2, e.VacuumHeroCard, e.VacuumInlineControl, e.ValueReadout, e.ValveHeroCard, e.ValveInlineControl, e.VersionBadge, e.VodPlaybackProvider, e.WaterHeaterHeroCard, e.WaterHeaterInlineControl, e.WeatherHeroCard, e.WeatherInlineControl, e.WidgetMetricCard, e.WidgetPanel, e.WidgetRegistryProvider, s = e.WidgetSlot, e.ZoneEditingProvider, e.allDeviceTypeFilterOptions, e.buildStepTreeFromSchema, e.childEntityId, e.childListName, e.cn, e.columnsForContext, e.containerChildToRef, e.countableDevices, e.coverHighlight, e.createLucideIcon, e.createSharedContext, e.createTheme, e.cursorFractionFor, e.darkColors, e.defaultTheme, e.deriveDeviceKind, e.deviceRoleMeta, e.deviceRoleMetaOf, e.deviceTypeMeta, e.deviceTypeMetaOf, e.ensureMfHostInit, e.findTimezone, e.formatControlDateTime, e.formatLastSeen, e.formatNumeric, e.fuzzyMatch, e.getClassColor, e.getPhaseVisual, e.groupChildrenByLayout, e.hardwareLabel, e.humidifierTint, e.initialScrubState, e.isAbsentProvider, e.isAbsentProvider$1, e.isFieldVisible, e.lawnMowerActivityMeta, e.lightColors, e.loadRemoteBundle, e.makeScrubBridge, e.metadataEntries, e.metadataString, e.mirror, e.mountAddonPage, e.nextSort, e.normalizeForSearch, e.overrideEntityIdFromLink, e.parseRecordedServerMessage, e.providerIcons, e.resolveContainerPrimary, e.resolveControlAlign, e.resolveDeviceControl, e.resolveDisplayIcon, e.resolvePrimaryChild, e.resolveSensorDisplay, e.scrubReducer, e.serializeRecordedCommand, e.shouldCommit, e.shouldEmit, e.sortRows, e.statusIcons, e.stripParentNamePrefix, e.tankAlert, e.themeToCss, e.trpc, e.useAccessoriesGetStatus, e.useAccessoriesSetChildHidden, e.useAddonPagesListPages, e.useAddonSettingsGetDeviceSettings, e.useAddonSettingsGetGlobalSettings, e.useAddonSettingsUpdateDeviceSettings, e.useAddonSettingsUpdateGlobalSettings, e.useAddonWidgetsListWidgets, e.useAddonsApplyAutoUpdateToAll, e.useAddonsCancelJob, e.useAddonsCustom, e.useAddonsForceRefresh, e.useAddonsGetAddonAutoUpdate, e.useAddonsGetAutoUpdateSettings, e.useAddonsGetJob, e.useAddonsGetLastRestart, e.useAddonsGetLogs, e.useAddonsGetVersions, e.useAddonsInstallFromWorkspace, e.useAddonsInstallPackage, e.useAddonsIsWorkspaceAvailable, e.useAddonsList, e.useAddonsListCapabilityProviders, e.useAddonsListFrameworkPackages, e.useAddonsListJobs, e.useAddonsListPackages, e.useAddonsListUpdates, e.useAddonsListWorkspacePackages, e.useAddonsOnAddonLogs, e.useAddonsReloadPackages, e.useAddonsRestartAddon, e.useAddonsRestartServer, e.useAddonsRetryLoad, e.useAddonsRollbackPackage, e.useAddonsSearchAvailable, e.useAddonsSetAddonAutoUpdate, e.useAddonsSetAutoUpdateSettings, e.useAddonsSetCapabilityProviderEnabled, e.useAddonsStartJob, e.useAddonsUninstallPackage, e.useAddonsUpdateFrameworkPackage, e.useAddonsUpdatePackage, e.useAirQualitySensorGetStatus, e.useAlarmPanelArm, e.useAlarmPanelDisarm, e.useAlarmPanelGetStatus, e.useAlarmPanelTrigger, e.useAlertsDismiss, e.useAlertsEmit, e.useAlertsGetUnreadCount, e.useAlertsList, e.useAlertsMarkAllRead, e.useAlertsMarkRead, e.useAlertsUpdate, e.useAllWidgets, e.useAmbientLightSensorGetStatus, e.useAudioAnalysisApplyDeviceSettingsPatch, e.useAudioAnalysisGetDeviceLiveContribution, e.useAudioAnalysisGetDeviceSettingsContribution, e.useAudioAnalysisResolveDeviceSettings, e.useAudioAnalyzerAnalyseChunk, e.useAudioAnalyzerClassify, e.useAudioAnalyzerDispose, e.useAudioAnalyzerIsReady, e.useAudioAnalyzerReprobeAudioEngine, e.useAudioCodecCanHandle, e.useAudioCodecCloseSession, e.useAudioCodecCreateDecodeSession, e.useAudioCodecCreateEncodeSession, e.useAudioCodecFlushEncode, e.useAudioCodecListActiveSessions, e.useAudioCodecListSupportedCodecs, e.useAudioCodecPullEncoded, e.useAudioCodecPullPcm, e.useAudioCodecPushEncodedFrame, e.useAudioCodecPushPcm, e.useAudioMetricsGetCurrentSnapshot, e.useAudioMetricsGetHistory, e.useAutomationControlDisable, e.useAutomationControlEnable, e.useAutomationControlGetStatus, e.useAutomationControlTrigger, e.useBackupDelete, e.useBackupGetEntries, e.useBackupList, e.useBackupListArchives, e.useBackupListDestinations, e.useBackupListLocations, e.useBackupPreviewSchedule, e.useBackupRestore, e.useBackupTrigger, e.useBackupUpsertDestinationPolicy, e.useBatteryGetStatus, e.useBatteryWakeForStream, e.useBinaryGetStatus, e.useBrightnessGetStatus, e.useBrightnessSetBrightness, e.useBrokerAdd, e.useBrokerGet, e.useBrokerGetBrokerConfig, e.useBrokerGetSettings, e.useBrokerGetSettingsSchema, e.useBrokerGetState, e.useBrokerGetStatus, e.useBrokerList, e.useBrokerListProviders, e.useBrokerPublish, e.useBrokerRemove, e.useBrokerSetSettings, e.useBrokerSubscribe, e.useBrokerTestConnection, e.useBrokerTestSettings, e.useBrokerUnsubscribe, e.useButtonPress, e.useCameraCredentialsGetCredentials, e.useCameraCredentialsGetStatus, e.useCameraPipelineConfigApplyDeviceSettingsPatch, e.useCameraPipelineConfigGetDeviceLiveContribution, e.useCameraPipelineConfigGetDeviceSettingsContribution, e.useCameraStreamsGetBrokerStreams, e.useCameraStreamsGetCameraStreams, e.useCameraStreamsGetProfileRtspEntries, e.useCameraStreamsGetRtspEntries, e.useCameraStreamsPickStream, e.useCarbonMonoxideGetStatus, e.useClimateControlGetStatus, e.useClimateControlSetFanMode, e.useClimateControlSetMode, e.useClimateControlSetPreset, e.useClimateControlSetSwingHorizontal, e.useClimateControlSetSwingVertical, e.useClimateControlSetTarget, e.useClimateControlSetTargetHumidity, e.useClimateControlSetTargetRange, e.useClusterNodes, e.useColorGetStatus, e.useColorSetColor, e.useConfirm, e.useConnectivityGetStatus, e.useConsumablesGetStatus, e.useConsumablesReset, e.useContactGetStatus, e.useContainerChildren, e.useControlGetStatus, e.useControlSetValue, e.useCoverClose, e.useCoverGetStatus, e.useCoverOpen, e.useCoverSetPosition, e.useCoverSetTiltPosition, e.useCoverStop, e.useCustomFieldRenderer, e.useDayNightGetOptions, e.useDayNightGetStatus, e.useDayNightSetSettings, e.useDebouncedString, e.useDecoderCreateSession, e.useDecoderDestroySession, e.useDecoderGetFrame, e.useDecoderGetInfo, e.useDecoderGetShmStats, e.useDecoderGetStats, e.useDecoderListActiveSessions, e.useDecoderOpenStream, e.useDecoderPullFrames, e.useDecoderPullHandles, e.useDecoderPushPacket, e.useDecoderReprobeHwaccel, e.useDecoderSupportsCodec, e.useDecoderUpdateConfig, e.useDetectionPipelineApplyDeviceSettingsPatch, e.useDetectionPipelineGetDeviceLiveContribution, e.useDetectionPipelineGetDeviceSettingsContribution, e.useDevShell, e.useDevice, e.useDeviceAdoptionAdopt, e.useDeviceAdoptionGetCandidate, e.useDeviceAdoptionGetStatus, e.useDeviceAdoptionListCandidateFilters, e.useDeviceAdoptionListCandidates, e.useDeviceAdoptionRefresh, e.useDeviceAdoptionRelease, e.useDeviceAdoptionResync, e.useDeviceAutotrack, e.useDeviceBattery, e.useDeviceCapSlice, e.useDeviceCapability, e.useDeviceDetections, e.useDeviceDiscoveryAdoptDevice, e.useDeviceDiscoveryGetStatus, e.useDeviceDiscoveryListDiscovered, e.useDeviceDiscoveryRefreshDiscovery, e.useDeviceDiscoveryReleaseDevice, e.useDeviceExportApplyDeviceSettingsPatch, e.useDeviceExportExposeDevice, e.useDeviceExportGetDeviceLiveContribution, e.useDeviceExportGetDeviceSettingsContribution, e.useDeviceExportGetStatus, e.useDeviceExportListExposedDevices, e.useDeviceExportListSupportedDeviceKinds, e.useDeviceExportUnexposeDevice, e.useDeviceId, e.useDeviceListPageSize, e.useDeviceManagerAddLocation, e.useDeviceManagerAdoptDevice, e.useDeviceManagerAdoptionAdopt, e.useDeviceManagerAdoptionListCandidateFilters, e.useDeviceManagerAdoptionListCandidates, e.useDeviceManagerAdoptionRefresh, e.useDeviceManagerAdoptionRelease, e.useDeviceManagerAdoptionResync, e.useDeviceManagerAllocateDeviceId, e.useDeviceManagerApplyInitialMeta, e.useDeviceManagerCreateDevice, e.useDeviceManagerDisable, e.useDeviceManagerDiscoverAllProviders, e.useDeviceManagerDiscoverDevices, e.useDeviceManagerDiscoverProvider, e.useDeviceManagerDiscoveryProviders, e.useDeviceManagerEnable, e.useDeviceManagerGetAllBindings, e.useDeviceManagerGetBindings, e.useDeviceManagerGetChildren, e.useDeviceManagerGetConfigSchema, e.useDeviceManagerGetCreationSchema, e.useDeviceManagerGetDevice, e.useDeviceManagerGetDeviceAggregate, e.useDeviceManagerGetDeviceLiveInfoAggregate, e.useDeviceManagerGetDeviceSettingsAggregate, e.useDeviceManagerGetDeviceStatusAggregate, e.useDeviceManagerGetRoleDisplayDefaults, e.useDeviceManagerGetSettingsSchema, e.useDeviceManagerGetStreamProfileMap, e.useDeviceManagerGetStreamSources, e.useDeviceManagerGetWireableFields, e.useDeviceManagerListAll, e.useDeviceManagerListBindableCapsForDeviceType, e.useDeviceManagerListLocations, e.useDeviceManagerListPersistedByAddon, e.useDeviceManagerListWrappersForCap, e.useDeviceManagerLoadConfig, e.useDeviceManagerLoadMeta, e.useDeviceManagerLoadRuntimeState, e.useDeviceManagerPersistConfig, e.useDeviceManagerProbeStreams, e.useDeviceManagerProviderCreationType, e.useDeviceManagerProviderDiscoveryParamsSchema, e.useDeviceManagerRegisterDevice, e.useDeviceManagerRemove, e.useDeviceManagerRemoveByIntegration, e.useDeviceManagerRemoveDevice, e.useDeviceManagerRemoveLocation, e.useDeviceManagerRunDeviceAction, e.useDeviceManagerSetChildLayout, e.useDeviceManagerSetDeviceLinks, e.useDeviceManagerSetDisabled, e.useDeviceManagerSetDisplay, e.useDeviceManagerSetIntegrationId, e.useDeviceManagerSetLinkDeviceId, e.useDeviceManagerSetLocation, e.useDeviceManagerSetMetadata, e.useDeviceManagerSetName, e.useDeviceManagerSetPrimaryChildEntityId, e.useDeviceManagerSetRole, e.useDeviceManagerSetRoleDisplayDefaults, e.useDeviceManagerSetStreamProfileMap, e.useDeviceManagerSetType, e.useDeviceManagerSetWrapperActive, e.useDeviceManagerTestCreationField, e.useDeviceManagerTestField, e.useDeviceManagerUpdateConfig, e.useDeviceManagerUpdateDeviceField, e.useDeviceManagerUpdateDeviceFieldsBatch, e.useDeviceOpsGetConfigEntries, e.useDeviceOpsGetRawState, e.useDeviceOpsGetSettingsSchema, e.useDeviceOpsGetStreamSources, e.useDeviceOpsRemoveDevice, e.useDeviceOpsRunAction, e.useDeviceOpsSetConfig, e.useDeviceProviderAdoptDiscoveredDevice, e.useDeviceProviderCreateDevice, e.useDeviceProviderDiscoverDevices, e.useDeviceProviderGetChildCreationSchema, e.useDeviceProviderGetDevices, e.useDeviceProviderGetDiscoveryParamsSchema, e.useDeviceProviderGetManualCreationType, e.useDeviceProviderGetStatus, e.useDeviceProviderStart, e.useDeviceProviderStop, e.useDeviceProviderSupportsDiscovery, e.useDeviceProviderSupportsManualCreation, e.useDeviceProviderTestCreationField, c = e.useDeviceProxy, e.useDeviceProxy$1, e.useDeviceSnapshot, e.useDeviceSnapshotImage, l = e.useDeviceState, e.useDeviceStateGetAllSnapshots, e.useDeviceStateGetCapSlice, e.useDeviceStateGetSnapshot, e.useDeviceStateSetCapSlice, u = e.useDeviceStateSlice, e.useDeviceStatusGetStatus, e.useDeviceWebrtc, e.useDevices, e.useDoorbellEvents, e.useDoorbellGetStatus, e.useEnumSensorGetStatus, e.useEventEmitterGetStatus, e.useEventInvalidation, e.useEventStreamLatest, e.useEventStreamMap, e.useEventsGetEventClipUrl, e.useEventsGetEventThumbnail, e.useEventsGetEvents, e.useFaceGalleryAssignFace, e.useFaceGalleryAssignFaces, e.useFaceGalleryCreateIdentity, e.useFaceGalleryDeleteFace, e.useFaceGalleryDeleteIdentity, e.useFaceGalleryGetFaceByTrack, e.useFaceGalleryGetFaceMedia, e.useFaceGalleryListIdentities, e.useFaceGalleryListIdentitySamples, e.useFaceGalleryListRecentFaces, e.useFaceGalleryRemoveSample, e.useFaceGalleryRenameIdentity, e.useFaceGallerySuggestFaceClusters, e.useFaceGalleryUnassignFace, e.useFaceGalleryUnassignFaces, e.useFanControlGetStatus, e.useFanControlSetDirection, e.useFanControlSetOscillating, e.useFanControlSetPercentage, e.useFanControlSetPreset, e.useFeatureProbeGetStatus, e.useFloodGetStatus, e.useGasGetStatus, e.useHumidifierGetStatus, e.useHumidifierSetMode, e.useHumidifierSetOn, e.useHumidifierSetTargetHumidity, e.useHumiditySensorGetStatus, e.useImageGetStatus, e.useImageSettingsGetOptions, e.useImageSettingsGetStatus, e.useImageSettingsSetSettings, e.useIntegrationsCreate, e.useIntegrationsDelete, e.useIntegrationsGet, e.useIntegrationsGetAvailableTypes, e.useIntegrationsGetByAddonId, e.useIntegrationsGetSettings, e.useIntegrationsList, e.useIntegrationsSetSettings, e.useIntegrationsTestConnection, e.useIntegrationsUpdate, e.useIntercomEndTalkSession, e.useIntercomGetStatus, e.useIntercomHandleAnswer, e.useIntercomPushTalkAudio, e.useIntercomStartSession, e.useIntercomStartTalkSession, e.useIntercomStopSession, e.useIsMidWidth, e.useIsMobile, e.useLawnMowerControlDock, e.useLawnMowerControlGetStatus, e.useLawnMowerControlPause, e.useLawnMowerControlStartMowing, e.useLiveBuffer, e.useLiveEvent, e.useLocalNetworkGetAllowedAddresses, e.useLocalNetworkGetConnectionEndpoints, e.useLocalNetworkGetPreferred, e.useLocalNetworkList, e.useLocalNetworkResetAllowlistToBestMatch, e.useLocalNetworkSetAllowedAddresses, e.useLockControlGetStatus, e.useLockControlLock, e.useLockControlOpen, e.useLockControlUnlock, e.useMediaPlayerGetStatus, e.useMediaPlayerNext, e.useMediaPlayerPause, e.useMediaPlayerPlay, e.useMediaPlayerPlayMedia, e.useMediaPlayerPrevious, e.useMediaPlayerSeek, e.useMediaPlayerSelectSource, e.useMediaPlayerSetMute, e.useMediaPlayerSetRepeat, e.useMediaPlayerSetShuffle, e.useMediaPlayerSetVolume, e.useMediaPlayerStop, e.useMeshNetworkGetStatus, e.useMeshNetworkJoin, e.useMeshNetworkLeave, e.useMeshNetworkListPeers, e.useMeshNetworkLogout, e.useMeshNetworkStartLogin, e.useMeshNetworkTestConnection, e.useMetricsProviderCollectSnapshot, e.useMetricsProviderDumpHeapSnapshot, e.useMetricsProviderGetAddonStats, e.useMetricsProviderGetCached, e.useMetricsProviderGetCpuTemperature, e.useMetricsProviderGetCurrent, e.useMetricsProviderGetDiskSpace, e.useMetricsProviderGetGpuInfo, e.useMetricsProviderGetProcessStats, e.useMetricsProviderKillProcess, e.useMetricsProviderListAddonInstances, e.useMetricsProviderListNodeProcesses, e.useMotionDetectionAnalyze, e.useMotionDetectionApplyDeviceSettingsPatch, e.useMotionDetectionGetDeviceLiveContribution, e.useMotionDetectionGetDeviceSettingsContribution, e.useMotionDetectionRemoveCamera, e.useMotionDetectionReset, e.useMotionGetStatus, e.useMotionIsDetected, e.useMotionTriggerGetStatus, e.useMotionTriggerSetMotionTrigger, e.useMotionZonesGetOptions, e.useMotionZonesGetStatus, e.useMotionZonesSetZone, e.useMqttBrokerAddBroker, e.useMqttBrokerGetBrokerConfig, e.useMqttBrokerGetStatus, e.useMqttBrokerListBrokers, e.useMqttBrokerRemoveBroker, e.useMqttBrokerStartEmbeddedBroker, e.useMqttBrokerStopEmbeddedBroker, e.useMqttBrokerTestConnection, e.useNativeObjectDetectionGetStatus, e.useNativeObjectDetectionSetEnabled, e.useNetworkAccessGetEndpoint, e.useNetworkAccessGetStatus, e.useNetworkAccessListEndpoints, e.useNetworkAccessStart, e.useNetworkAccessStop, e.useNetworkQualityGetAllStats, e.useNetworkQualityGetDeviceStats, e.useNetworkQualityReportClientStats, e.useNodesClusterAddonStatus, e.useNodesDeployAddon, e.useNodesExecuteQuery, e.useNodesGetCapUsageGraph, e.useNodesGetNodeAddons, e.useNodesRenameNode, e.useNodesRestartAddon, e.useNodesRestartNode, e.useNodesRestartProcess, e.useNodesSetProcessLogLevel, e.useNodesShutdownNode, e.useNodesTopology, e.useNodesUndeployAddon, e.useNotificationOutputDeleteTarget, e.useNotificationOutputDiscoverTargets, e.useNotificationOutputListTargetKinds, e.useNotificationOutputListTargets, e.useNotificationOutputSend, e.useNotificationOutputSetTargetEnabled, e.useNotificationOutputTestTarget, e.useNotificationOutputUpsertTarget, e.useNotifierCancel, e.useNotifierGetStatus, e.useNotifierSend, e.useNumericSensorGetStatus, e.useOptimisticSlice, e.useOptionalSystem, e.useOptionalWidgetRegistry, e.useOsdGetStatus, e.useOsdSetOverlay, e.usePTZ, e.usePetFeederCallPet, e.usePetFeederCancelFeed, e.usePetFeederFeed, e.usePetFeederGetStatus, e.usePetFeederMarkFoodReplenished, e.usePetFeederPlaySound, e.usePetFeederResetDesiccant, e.usePetFeederSetChildLock, e.usePetFeederSetFeedSound, e.usePetFeederSetIndicatorLight, e.usePetFeederSetVolume, e.usePipelineAnalyticsApplyDeviceSettingsPatch, e.usePipelineAnalyticsClearTracks, e.usePipelineAnalyticsGetActiveTracks, e.usePipelineAnalyticsGetAudioEvents, e.usePipelineAnalyticsGetDeviceLiveContribution, e.usePipelineAnalyticsGetDeviceSettingsContribution, e.usePipelineAnalyticsGetEventDensity, e.usePipelineAnalyticsGetEventMedia, e.usePipelineAnalyticsGetMotionEvents, e.usePipelineAnalyticsGetObjectEvents, e.usePipelineAnalyticsGetTrack, e.usePipelineAnalyticsGetTrackMedia, e.usePipelineAnalyticsListTracks, e.usePipelineAnalyticsPruneEventsBefore, e.usePipelineAnalyticsSearchObjectEvents, e.usePipelineExecutorCacheFrameInPool, e.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.usePipelineExecutorReprobeEngine, 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.usePipelineOrchestratorGetPipelineAssignment, e.usePipelineOrchestratorGetPipelineAssignments, e.usePipelineOrchestratorListAgentSettings, e.usePipelineOrchestratorListTemplates, e.usePipelineOrchestratorRebalance, e.usePipelineOrchestratorRemoveAgentSettings, e.usePipelineOrchestratorResetNodePipelineDefaults, e.usePipelineOrchestratorResolvePipeline, e.usePipelineOrchestratorSaveTemplate, e.usePipelineOrchestratorSetAgentAddonDefaults, e.usePipelineOrchestratorSetAgentCapabilities, e.usePipelineOrchestratorSetAgentDetectWeight, e.usePipelineOrchestratorSetAgentMaxCameras, e.usePipelineOrchestratorSetAgentReachableHost, e.usePipelineOrchestratorSetCameraPipelineForAgent, e.usePipelineOrchestratorSetCameraStepOverride, e.usePipelineOrchestratorSetCameraStepToggle, e.usePipelineOrchestratorSetCapabilityBinding, e.usePipelineOrchestratorUnassignAudio, e.usePipelineOrchestratorUnassignPipeline, e.usePipelineOrchestratorUpdateTemplate, e.usePipelineRunnerAttachCamera, e.usePipelineRunnerDetachCamera, e.usePipelineRunnerGetAllCameraMetrics, e.usePipelineRunnerGetCameraMetrics, e.usePipelineRunnerGetLocalCameras, e.usePipelineRunnerGetLocalLoad, e.usePipelineRunnerGetLocalMetrics, e.usePipelineRunnerReportMotion, e.usePlateGalleryCorrectPlateText, e.usePlateGalleryDeletePlate, e.usePlateGalleryGetPlateByTrack, e.usePlateGalleryGetPlateMedia, e.usePlateGalleryListPlates, e.usePlateGallerySearchPlates, e.usePlateGallerySuggestPlateClusters, e.usePlayerOverlayLayer, e.usePlayerOverlayLayers, e.usePlayerToolbarButton, e.usePlayerToolbarButtons, e.usePowerMeterGetStatus, e.usePresenceGetStatus, e.usePressureSensorGetStatus, e.usePrivacyMaskGetOptions, e.usePrivacyMaskGetStatus, e.usePrivacyMaskSetMask, e.usePtzAutotrackGetSettings, e.usePtzAutotrackGetStatus, e.usePtzAutotrackSetEnabled, e.usePtzAutotrackSetSettings, e.usePtzContinuousMove, e.usePtzDeletePreset, e.usePtzGetOptions, e.usePtzGetPosition, e.usePtzGetPresets, e.usePtzGetStatus, e.usePtzGoHome, e.usePtzGoToPreset, e.usePtzMove, e.usePtzSavePreset, e.usePtzSetAutofocus, e.usePtzStop, e.useRebootReboot, e.useRecordedPlayback, e.useRecordingApplyDeviceSettingsPatch, e.useRecordingGetAvailability, e.useRecordingGetDaysWithRecordings, e.useRecordingGetDeviceConfig, e.useRecordingGetDeviceLiveContribution, e.useRecordingGetDeviceSettingsContribution, e.useRecordingGetPlaybackManifest, e.useRecordingGetStatus, e.useRecordingGetStorageUsage, e.useRecordingLocateSegment, e.useRecordingPruneFootage, e.useRecordingReadSegmentBytes, e.useRecordingRescanStorage, e.useRecordingSetDeviceConfig, e.useRemoteComponent, e.useScriptRunnerGetStatus, e.useScriptRunnerRun, e.useScriptRunnerStop, e.useScrubController, e.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, a as n, l as o, o as r, u as s, d as t };
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.1.
|
|
39
|
+
version: "1.1.40",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.1.
|
|
48
|
+
version: "1.1.22",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.1.
|
|
84
|
+
version: "1.1.32",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_resolve_frame = require("../resolve-frame-
|
|
5
|
+
const require_dist = require("../dist-B0VgBdBN.js");
|
|
6
|
+
const require_resolve_frame = require("../resolve-frame-DBXwF5fk.js");
|
|
7
7
|
let _camstack_shm_ring = require("@camstack/shm-ring");
|
|
8
8
|
let sharp = require("sharp");
|
|
9
9
|
sharp = require_dist.__toESM(sharp);
|
|
@@ -699,17 +699,24 @@ function normalizeToPixel(p, width, height) {
|
|
|
699
699
|
//#region src/pipeline-analytics/pipeline/tracker/sort-tracker.ts
|
|
700
700
|
var DEFAULT_TRACKER_CONFIG = {
|
|
701
701
|
iouThreshold: .3,
|
|
702
|
-
|
|
702
|
+
maxMissedMs: 4e3,
|
|
703
703
|
minHits: 3,
|
|
704
704
|
predictiveCoasting: true,
|
|
705
705
|
classGating: true,
|
|
706
706
|
occlusionEnabled: true,
|
|
707
707
|
occlusionContainment: .6,
|
|
708
|
-
|
|
709
|
-
maxTrackLifetimeMs: 3e5
|
|
708
|
+
occlusionMaxMissedMs: 8e3,
|
|
709
|
+
maxTrackLifetimeMs: 3e5,
|
|
710
|
+
rescueIouThreshold: .1,
|
|
711
|
+
rescueCentroidFactor: .75,
|
|
712
|
+
resurrectionWindowMs: 8e3,
|
|
713
|
+
stationarySpeedPx: 2
|
|
710
714
|
};
|
|
711
715
|
var MAX_PATH_LENGTH = 300;
|
|
712
716
|
var nextTrackId = 1;
|
|
717
|
+
function clamp(value, min, max) {
|
|
718
|
+
return Math.max(min, Math.min(max, value));
|
|
719
|
+
}
|
|
713
720
|
function iou$1(a, b) {
|
|
714
721
|
const ax1 = a.x, ay1 = a.y, ax2 = a.x + a.w, ay2 = a.y + a.h;
|
|
715
722
|
const bx1 = b.x, by1 = b.y, bx2 = b.x + b.w, by2 = b.y + b.h;
|
|
@@ -739,26 +746,51 @@ var SortTracker = class {
|
|
|
739
746
|
};
|
|
740
747
|
}
|
|
741
748
|
/** Where a track is expected this frame — extrapolated by velocity while
|
|
742
|
-
* coasting (predictiveCoasting), else its last known bbox.
|
|
749
|
+
* coasting (predictiveCoasting), else its last known bbox. A stationary
|
|
750
|
+
* track (speed < stationarySpeedPx) is frozen so bbox jitter can't walk the
|
|
751
|
+
* box off a sitting object; otherwise the drift is capped at one bbox size
|
|
752
|
+
* so a stale velocity can't fling the box across the frame. Public so the
|
|
753
|
+
* clamp is directly unit-testable. */
|
|
743
754
|
predicted(t) {
|
|
744
755
|
if (!this.config.predictiveCoasting) return t.bbox;
|
|
756
|
+
if (Math.hypot(t.velocity.dx, t.velocity.dy) < this.config.stationarySpeedPx) return t.bbox;
|
|
745
757
|
const f = t.age + 1;
|
|
758
|
+
const driftX = clamp(t.velocity.dx * f, -t.bbox.w, t.bbox.w);
|
|
759
|
+
const driftY = clamp(t.velocity.dy * f, -t.bbox.h, t.bbox.h);
|
|
746
760
|
return {
|
|
747
|
-
x: t.bbox.x +
|
|
748
|
-
y: t.bbox.y +
|
|
761
|
+
x: t.bbox.x + driftX,
|
|
762
|
+
y: t.bbox.y + driftY,
|
|
749
763
|
w: t.bbox.w,
|
|
750
764
|
h: t.bbox.h
|
|
751
765
|
};
|
|
752
766
|
}
|
|
767
|
+
/**
|
|
768
|
+
* Loose same-class gate used by the rescue and resurrection passes: accept
|
|
769
|
+
* when the detection overlaps the track's LAST-KNOWN bbox by `rescueIou`, or
|
|
770
|
+
* its centroid is within `rescueCentroidFactor × bbox-diagonal`. Always class-
|
|
771
|
+
* gated (a rescue must never cross classes), independent of `classGating`.
|
|
772
|
+
*/
|
|
773
|
+
looseMatch(track, det) {
|
|
774
|
+
if (track.class !== det.class) return false;
|
|
775
|
+
if (iou$1(track.bbox, det.bbox) >= this.config.rescueIouThreshold) return true;
|
|
776
|
+
const tc = bboxCentroid(track.bbox);
|
|
777
|
+
const dc = bboxCentroid(det.bbox);
|
|
778
|
+
const dist = Math.hypot(tc.x - dc.x, tc.y - dc.y);
|
|
779
|
+
const diag = Math.hypot(track.bbox.w, track.bbox.h);
|
|
780
|
+
return dist <= this.config.rescueCentroidFactor * diag;
|
|
781
|
+
}
|
|
753
782
|
update(detections, timestamp) {
|
|
754
783
|
if (this.config.maxTrackLifetimeMs > 0) {
|
|
755
784
|
const alive = [];
|
|
756
785
|
for (const track of this.tracks) if (timestamp - track.firstSeen > this.config.maxTrackLifetimeMs) {
|
|
757
786
|
track.lost = true;
|
|
787
|
+
track.lostAt = timestamp;
|
|
788
|
+
track.resurrectable = false;
|
|
758
789
|
this.lostTracks.push(track);
|
|
759
790
|
} else alive.push(track);
|
|
760
791
|
this.tracks = alive;
|
|
761
792
|
}
|
|
793
|
+
this.lostTracks = this.lostTracks.filter((t) => timestamp - t.lostAt <= this.config.resurrectionWindowMs);
|
|
762
794
|
const used = /* @__PURE__ */ new Set();
|
|
763
795
|
const matchedTracks = /* @__PURE__ */ new Set();
|
|
764
796
|
const matched = /* @__PURE__ */ new Map();
|
|
@@ -783,6 +815,27 @@ var SortTracker = class {
|
|
|
783
815
|
matchedTracks.add(pair.track);
|
|
784
816
|
used.add(pair.detIdx);
|
|
785
817
|
}
|
|
818
|
+
const rescuePairs = [];
|
|
819
|
+
for (const track of this.tracks) {
|
|
820
|
+
if (matchedTracks.has(track)) continue;
|
|
821
|
+
for (let di = 0; di < detections.length; di++) {
|
|
822
|
+
if (used.has(di)) continue;
|
|
823
|
+
const det = detections[di];
|
|
824
|
+
if (!this.looseMatch(track, det)) continue;
|
|
825
|
+
rescuePairs.push({
|
|
826
|
+
track,
|
|
827
|
+
detIdx: di,
|
|
828
|
+
score: iou$1(track.bbox, det.bbox)
|
|
829
|
+
});
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
rescuePairs.sort((a, b) => b.score - a.score);
|
|
833
|
+
for (const pair of rescuePairs) {
|
|
834
|
+
if (matchedTracks.has(pair.track) || used.has(pair.detIdx)) continue;
|
|
835
|
+
matched.set(pair.track, detections[pair.detIdx]);
|
|
836
|
+
matchedTracks.add(pair.track);
|
|
837
|
+
used.add(pair.detIdx);
|
|
838
|
+
}
|
|
786
839
|
for (const [track, det] of matched) {
|
|
787
840
|
const prevCenter = bboxCentroid({
|
|
788
841
|
x: track.bbox.x,
|
|
@@ -821,12 +874,47 @@ var SortTracker = class {
|
|
|
821
874
|
}
|
|
822
875
|
const occluded = this.config.occlusionEnabled && occluderBoxes.some((ob) => containment(this.predicted(track), ob) >= this.config.occlusionContainment);
|
|
823
876
|
track.age++;
|
|
824
|
-
|
|
825
|
-
if (track.age > limit) {
|
|
877
|
+
if (timestamp - track.lastSeen > (occluded ? this.config.occlusionMaxMissedMs : this.config.maxMissedMs)) {
|
|
826
878
|
track.lost = true;
|
|
879
|
+
track.lostAt = timestamp;
|
|
880
|
+
track.resurrectable = true;
|
|
827
881
|
this.lostTracks.push(track);
|
|
828
882
|
} else surviving.push(track);
|
|
829
883
|
}
|
|
884
|
+
for (let di = 0; di < detections.length; di++) {
|
|
885
|
+
if (used.has(di)) continue;
|
|
886
|
+
const det = detections[di];
|
|
887
|
+
let best;
|
|
888
|
+
let bestScore = -1;
|
|
889
|
+
for (const lost of this.lostTracks) {
|
|
890
|
+
if (!lost.resurrectable) continue;
|
|
891
|
+
if (timestamp - lost.lostAt > this.config.resurrectionWindowMs) continue;
|
|
892
|
+
if (!this.looseMatch(lost, det)) continue;
|
|
893
|
+
const score = iou$1(lost.bbox, det.bbox);
|
|
894
|
+
if (score > bestScore) {
|
|
895
|
+
best = lost;
|
|
896
|
+
bestScore = score;
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
if (!best) continue;
|
|
900
|
+
this.lostTracks = this.lostTracks.filter((t) => t !== best);
|
|
901
|
+
best.bbox = det.bbox;
|
|
902
|
+
best.class = det.class;
|
|
903
|
+
best.originalClass = det.originalClass;
|
|
904
|
+
best.score = det.score;
|
|
905
|
+
best.age = 0;
|
|
906
|
+
best.hits++;
|
|
907
|
+
best.lost = false;
|
|
908
|
+
best.lastSeen = timestamp;
|
|
909
|
+
best.velocity = {
|
|
910
|
+
dx: 0,
|
|
911
|
+
dy: 0
|
|
912
|
+
};
|
|
913
|
+
best.path.push(det.bbox);
|
|
914
|
+
if (best.path.length > MAX_PATH_LENGTH) best.path.shift();
|
|
915
|
+
surviving.push(best);
|
|
916
|
+
used.add(di);
|
|
917
|
+
}
|
|
830
918
|
for (let di = 0; di < detections.length; di++) {
|
|
831
919
|
if (used.has(di)) continue;
|
|
832
920
|
const det = detections[di];
|
|
@@ -846,7 +934,9 @@ var SortTracker = class {
|
|
|
846
934
|
dx: 0,
|
|
847
935
|
dy: 0
|
|
848
936
|
},
|
|
849
|
-
lost: false
|
|
937
|
+
lost: false,
|
|
938
|
+
lostAt: 0,
|
|
939
|
+
resurrectable: true
|
|
850
940
|
});
|
|
851
941
|
}
|
|
852
942
|
this.tracks = surviving;
|
|
@@ -961,6 +1051,7 @@ var StateAnalyzer = class {
|
|
|
961
1051
|
//#region src/pipeline-analytics/pipeline/events/event-filter.ts
|
|
962
1052
|
var DEFAULT_EVENT_EMITTER_CONFIG = {
|
|
963
1053
|
minTrackAge: 3,
|
|
1054
|
+
minTrackAgeMs: 0,
|
|
964
1055
|
cooldownSec: 5,
|
|
965
1056
|
enabledTypes: [
|
|
966
1057
|
"object.entering",
|
|
@@ -991,6 +1082,13 @@ var DetectionEventEmitter = class {
|
|
|
991
1082
|
config;
|
|
992
1083
|
previousStates = /* @__PURE__ */ new Map();
|
|
993
1084
|
lastEmitted = /* @__PURE__ */ new Map();
|
|
1085
|
+
/**
|
|
1086
|
+
* Last-known track per id. A `leaving` state fires for a track that is ABSENT
|
|
1087
|
+
* from the current frame, so it can't be resolved from `trackMap` — it is
|
|
1088
|
+
* resolved from this snapshot instead (without it, leaving events never
|
|
1089
|
+
* fired: the latent "0 `left` events in 24h" bug).
|
|
1090
|
+
*/
|
|
1091
|
+
lastKnownTracks = /* @__PURE__ */ new Map();
|
|
994
1092
|
constructor(config = {}) {
|
|
995
1093
|
this.config = {
|
|
996
1094
|
...DEFAULT_EVENT_EMITTER_CONFIG,
|
|
@@ -1002,10 +1100,12 @@ var DetectionEventEmitter = class {
|
|
|
1002
1100
|
const now = Date.now();
|
|
1003
1101
|
const stateMap = new Map(states.map((s) => [s.trackId, s]));
|
|
1004
1102
|
const trackMap = new Map(tracks.map((t) => [t.trackId, t]));
|
|
1103
|
+
for (const t of tracks) this.lastKnownTracks.set(t.trackId, t);
|
|
1005
1104
|
for (const state of states) {
|
|
1006
|
-
const track = trackMap.get(state.trackId);
|
|
1105
|
+
const track = trackMap.get(state.trackId) ?? this.lastKnownTracks.get(state.trackId);
|
|
1007
1106
|
if (!track) continue;
|
|
1008
1107
|
if (track.trackAge < this.config.minTrackAge) continue;
|
|
1108
|
+
if (state.dwellTimeMs < this.config.minTrackAgeMs) continue;
|
|
1009
1109
|
const eventType = STATE_TO_EVENT[state.state];
|
|
1010
1110
|
if (!eventType) continue;
|
|
1011
1111
|
if (!this.config.enabledTypes.includes(eventType)) continue;
|
|
@@ -1051,12 +1151,16 @@ var DetectionEventEmitter = class {
|
|
|
1051
1151
|
trackPath: [...track.path]
|
|
1052
1152
|
});
|
|
1053
1153
|
}
|
|
1054
|
-
for (const state of states) if (state.state === "leaving")
|
|
1154
|
+
for (const state of states) if (state.state === "leaving") {
|
|
1155
|
+
this.previousStates.delete(state.trackId);
|
|
1156
|
+
this.lastKnownTracks.delete(state.trackId);
|
|
1157
|
+
}
|
|
1055
1158
|
return events;
|
|
1056
1159
|
}
|
|
1057
1160
|
reset() {
|
|
1058
1161
|
this.previousStates.clear();
|
|
1059
1162
|
this.lastEmitted.clear();
|
|
1163
|
+
this.lastKnownTracks.clear();
|
|
1060
1164
|
}
|
|
1061
1165
|
};
|
|
1062
1166
|
//#endregion
|
|
@@ -3777,22 +3881,22 @@ function resolveDetectionSensitivitySettings(raw) {
|
|
|
3777
3881
|
stationaryThresholdSec: pick("stationaryThresholdSec")
|
|
3778
3882
|
};
|
|
3779
3883
|
}
|
|
3780
|
-
//#endregion
|
|
3781
|
-
//#region src/pipeline-analytics/tracking-settings.ts
|
|
3782
|
-
/**
|
|
3783
|
-
* Per-device tracker tuning. These drive the SORT tracker (association,
|
|
3784
|
-
* coasting, occlusion, lifetime) and the detector-dropout frame skip. Every
|
|
3785
|
-
* field is independently overridable per camera from the admin UI; unknown or
|
|
3786
|
-
* invalid values fall back to the field default (never throws on a bad blob).
|
|
3787
|
-
*
|
|
3788
|
-
* Note: `minHits` lives in detection-sensitivity-settings (it predates this
|
|
3789
|
-
* file and already flows to the tracker) — it is NOT duplicated here.
|
|
3790
|
-
*/
|
|
3791
3884
|
var TrackingSettingsSchema = require_dist.object({
|
|
3792
3885
|
/** IoU required to match a (predicted) track to a detection. */
|
|
3793
3886
|
iouThreshold: require_dist.number().min(0).max(1).default(.3),
|
|
3794
|
-
/**
|
|
3887
|
+
/** Wall-clock coasting budget (ms) before a missed track is dropped. Time-
|
|
3888
|
+
* based so behaviour is identical across camera frame rates. */
|
|
3889
|
+
maxMissedMs: require_dist.number().min(0).default(4e3),
|
|
3890
|
+
/** Minimum wall-clock track age (ms) before it may produce events. */
|
|
3891
|
+
minTrackAgeMs: require_dist.number().min(0).default(1e3),
|
|
3892
|
+
/** Extended coasting budget (ms) while a track is occluded. */
|
|
3893
|
+
occlusionMaxMissedMs: require_dist.number().min(0).default(8e3),
|
|
3894
|
+
/** @deprecated frame-based alias for {@link maxMissedMs}. Retained so
|
|
3895
|
+
* existing per-device blobs keep working — resolved into `maxMissedMs`
|
|
3896
|
+
* (× {@link NOMINAL_FRAME_MS}) only when `maxMissedMs` is unset. */
|
|
3795
3897
|
maxMissedFrames: require_dist.number().int().min(0).default(30),
|
|
3898
|
+
/** @deprecated frame-based alias for {@link occlusionMaxMissedMs}. */
|
|
3899
|
+
occlusionMaxMissedFrames: require_dist.number().int().min(0).default(60),
|
|
3796
3900
|
/** Hard cap on total track lifetime — retire+restart beyond this to bound
|
|
3797
3901
|
* drift / long-lived false positives. 0 = unlimited. */
|
|
3798
3902
|
maxTrackLifetimeSec: require_dist.number().min(0).default(300),
|
|
@@ -3806,8 +3910,17 @@ var TrackingSettingsSchema = require_dist.object({
|
|
|
3806
3910
|
/** Containment ratio (intersection / occluded-area) above which a missed
|
|
3807
3911
|
* track is considered hidden behind another track. */
|
|
3808
3912
|
occlusionContainment: require_dist.number().min(0).max(1).default(.6),
|
|
3809
|
-
/**
|
|
3810
|
-
|
|
3913
|
+
/** Loose IoU gate (vs. last-known bbox) for the second (rescue) association
|
|
3914
|
+
* pass + graveyard resurrection. */
|
|
3915
|
+
rescueIouThreshold: require_dist.number().min(0).max(1).default(.1),
|
|
3916
|
+
/** Centroid gate for rescue/resurrection: fraction of the bbox diagonal. */
|
|
3917
|
+
rescueCentroidFactor: require_dist.number().min(0).default(.75),
|
|
3918
|
+
/** Wall-clock graveyard retention (ms): a dropped track re-attaches to a new
|
|
3919
|
+
* same-class detection (keeping its id) for this long. */
|
|
3920
|
+
resurrectionWindowMs: require_dist.number().min(0).default(8e3),
|
|
3921
|
+
/** Speed (px/frame) below which a track's prediction is frozen (stationary
|
|
3922
|
+
* jitter can't drift the box off a sitting object). */
|
|
3923
|
+
stationarySpeedPx: require_dist.number().min(0).default(2),
|
|
3811
3924
|
/** Skip frames where detections suddenly drop to zero (detector glitch). */
|
|
3812
3925
|
dropoutSkipEnabled: require_dist.boolean().default(true),
|
|
3813
3926
|
/** Max consecutive all-zero frames absorbed as a glitch before the scene is
|
|
@@ -3822,15 +3935,26 @@ var TRACKING_DEFAULTS = TrackingSettingsSchema.parse({});
|
|
|
3822
3935
|
*/
|
|
3823
3936
|
function resolveTrackingSettings(raw) {
|
|
3824
3937
|
const s = TrackingSettingsSchema.shape;
|
|
3938
|
+
const maxMissedFrames = s.maxMissedFrames.catch(TRACKING_DEFAULTS.maxMissedFrames).parse(raw.maxMissedFrames);
|
|
3939
|
+
const occlusionMaxMissedFrames = s.occlusionMaxMissedFrames.catch(TRACKING_DEFAULTS.occlusionMaxMissedFrames).parse(raw.occlusionMaxMissedFrames);
|
|
3940
|
+
const maxMissedMs = raw.maxMissedMs !== void 0 ? s.maxMissedMs.catch(TRACKING_DEFAULTS.maxMissedMs).parse(raw.maxMissedMs) : raw.maxMissedFrames !== void 0 ? Math.round(maxMissedFrames * 133) : TRACKING_DEFAULTS.maxMissedMs;
|
|
3941
|
+
const occlusionMaxMissedMs = raw.occlusionMaxMissedMs !== void 0 ? s.occlusionMaxMissedMs.catch(TRACKING_DEFAULTS.occlusionMaxMissedMs).parse(raw.occlusionMaxMissedMs) : raw.occlusionMaxMissedFrames !== void 0 ? Math.round(occlusionMaxMissedFrames * 133) : TRACKING_DEFAULTS.occlusionMaxMissedMs;
|
|
3825
3942
|
return {
|
|
3826
3943
|
iouThreshold: s.iouThreshold.catch(TRACKING_DEFAULTS.iouThreshold).parse(raw.iouThreshold),
|
|
3827
|
-
|
|
3944
|
+
maxMissedMs,
|
|
3945
|
+
minTrackAgeMs: s.minTrackAgeMs.catch(TRACKING_DEFAULTS.minTrackAgeMs).parse(raw.minTrackAgeMs),
|
|
3946
|
+
occlusionMaxMissedMs,
|
|
3947
|
+
maxMissedFrames,
|
|
3948
|
+
occlusionMaxMissedFrames,
|
|
3828
3949
|
maxTrackLifetimeSec: s.maxTrackLifetimeSec.catch(TRACKING_DEFAULTS.maxTrackLifetimeSec).parse(raw.maxTrackLifetimeSec),
|
|
3829
3950
|
predictiveCoasting: s.predictiveCoasting.catch(TRACKING_DEFAULTS.predictiveCoasting).parse(raw.predictiveCoasting),
|
|
3830
3951
|
classGating: s.classGating.catch(TRACKING_DEFAULTS.classGating).parse(raw.classGating),
|
|
3831
3952
|
occlusionEnabled: s.occlusionEnabled.catch(TRACKING_DEFAULTS.occlusionEnabled).parse(raw.occlusionEnabled),
|
|
3832
3953
|
occlusionContainment: s.occlusionContainment.catch(TRACKING_DEFAULTS.occlusionContainment).parse(raw.occlusionContainment),
|
|
3833
|
-
|
|
3954
|
+
rescueIouThreshold: s.rescueIouThreshold.catch(TRACKING_DEFAULTS.rescueIouThreshold).parse(raw.rescueIouThreshold),
|
|
3955
|
+
rescueCentroidFactor: s.rescueCentroidFactor.catch(TRACKING_DEFAULTS.rescueCentroidFactor).parse(raw.rescueCentroidFactor),
|
|
3956
|
+
resurrectionWindowMs: s.resurrectionWindowMs.catch(TRACKING_DEFAULTS.resurrectionWindowMs).parse(raw.resurrectionWindowMs),
|
|
3957
|
+
stationarySpeedPx: s.stationarySpeedPx.catch(TRACKING_DEFAULTS.stationarySpeedPx).parse(raw.stationarySpeedPx),
|
|
3834
3958
|
dropoutSkipEnabled: s.dropoutSkipEnabled.catch(TRACKING_DEFAULTS.dropoutSkipEnabled).parse(raw.dropoutSkipEnabled),
|
|
3835
3959
|
dropoutMaxSkipFrames: s.dropoutMaxSkipFrames.catch(TRACKING_DEFAULTS.dropoutMaxSkipFrames).parse(raw.dropoutMaxSkipFrames)
|
|
3836
3960
|
};
|
|
@@ -5747,7 +5871,7 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
5747
5871
|
let storage = this.ctx.kernel.storage;
|
|
5748
5872
|
const mediaRoot = process.env.CAMSTACK_MEDIA_ROOT?.trim();
|
|
5749
5873
|
if (mediaRoot) {
|
|
5750
|
-
const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-
|
|
5874
|
+
const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-Cx0LM0Sq.js"));
|
|
5751
5875
|
storage = new FilesystemStorageProvider(mediaRoot);
|
|
5752
5876
|
logger.info("pipeline-analytics: event media rooted at CAMSTACK_MEDIA_ROOT", { meta: { mediaRoot } });
|
|
5753
5877
|
}
|
|
@@ -6975,16 +7099,21 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
6975
7099
|
p = new FrameProcessor(deviceId, {
|
|
6976
7100
|
minHits,
|
|
6977
7101
|
iouThreshold: trk.iouThreshold,
|
|
6978
|
-
|
|
7102
|
+
maxMissedMs: trk.maxMissedMs,
|
|
6979
7103
|
predictiveCoasting: trk.predictiveCoasting,
|
|
6980
7104
|
classGating: trk.classGating,
|
|
6981
7105
|
occlusionEnabled: trk.occlusionEnabled,
|
|
6982
7106
|
occlusionContainment: trk.occlusionContainment,
|
|
6983
|
-
|
|
7107
|
+
occlusionMaxMissedMs: trk.occlusionMaxMissedMs,
|
|
7108
|
+
rescueIouThreshold: trk.rescueIouThreshold,
|
|
7109
|
+
rescueCentroidFactor: trk.rescueCentroidFactor,
|
|
7110
|
+
resurrectionWindowMs: trk.resurrectionWindowMs,
|
|
7111
|
+
stationarySpeedPx: trk.stationarySpeedPx,
|
|
6984
7112
|
maxTrackLifetimeMs: trk.maxTrackLifetimeSec * 1e3
|
|
6985
7113
|
}, { stationaryThresholdSec }, {
|
|
6986
7114
|
minTrackAge,
|
|
6987
|
-
cooldownSec
|
|
7115
|
+
cooldownSec,
|
|
7116
|
+
minTrackAgeMs: trk.minTrackAgeMs
|
|
6988
7117
|
}, source);
|
|
6989
7118
|
this.processors.set(key, p);
|
|
6990
7119
|
}
|
|
@@ -7545,12 +7674,53 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
7545
7674
|
},
|
|
7546
7675
|
{
|
|
7547
7676
|
type: "number",
|
|
7548
|
-
key: "
|
|
7549
|
-
label: "Max
|
|
7550
|
-
description: "
|
|
7677
|
+
key: "maxMissedMs",
|
|
7678
|
+
label: "Max coasting time",
|
|
7679
|
+
description: "How long (ms) a track may miss detections before it is dropped. Time-based so it behaves the same on a 5fps and a 23fps camera.",
|
|
7551
7680
|
min: 0,
|
|
7552
|
-
step:
|
|
7553
|
-
default: TRACKING_DEFAULTS.
|
|
7681
|
+
step: 100,
|
|
7682
|
+
default: TRACKING_DEFAULTS.maxMissedMs,
|
|
7683
|
+
unit: "ms"
|
|
7684
|
+
},
|
|
7685
|
+
{
|
|
7686
|
+
type: "number",
|
|
7687
|
+
key: "minTrackAgeMs",
|
|
7688
|
+
label: "Min track age",
|
|
7689
|
+
description: "A track must exist for at least this long (ms) before it can produce events — stops sub-second flicker fragments from becoming events.",
|
|
7690
|
+
min: 0,
|
|
7691
|
+
step: 100,
|
|
7692
|
+
default: TRACKING_DEFAULTS.minTrackAgeMs,
|
|
7693
|
+
unit: "ms"
|
|
7694
|
+
},
|
|
7695
|
+
{
|
|
7696
|
+
type: "number",
|
|
7697
|
+
key: "resurrectionWindowMs",
|
|
7698
|
+
label: "Resurrection window",
|
|
7699
|
+
description: "How long (ms) a dropped track can be re-attached to a re-appearing same-class detection (keeping its id) — the main fix for a stationary object fragmenting into many tracks.",
|
|
7700
|
+
min: 0,
|
|
7701
|
+
step: 500,
|
|
7702
|
+
default: TRACKING_DEFAULTS.resurrectionWindowMs,
|
|
7703
|
+
unit: "ms"
|
|
7704
|
+
},
|
|
7705
|
+
{
|
|
7706
|
+
type: "number",
|
|
7707
|
+
key: "rescueIouThreshold",
|
|
7708
|
+
label: "Rescue IoU threshold",
|
|
7709
|
+
description: "Looser overlap (vs. a track’s last-known box) for the second association + resurrection passes. Lower = more aggressive re-attachment.",
|
|
7710
|
+
min: 0,
|
|
7711
|
+
max: 1,
|
|
7712
|
+
step: .05,
|
|
7713
|
+
default: TRACKING_DEFAULTS.rescueIouThreshold
|
|
7714
|
+
},
|
|
7715
|
+
{
|
|
7716
|
+
type: "number",
|
|
7717
|
+
key: "stationarySpeedPx",
|
|
7718
|
+
label: "Stationary speed",
|
|
7719
|
+
description: "Speed (px/frame) below which a track is treated as stationary and its prediction is frozen, so bbox jitter cannot walk the box off a sitting object.",
|
|
7720
|
+
min: 0,
|
|
7721
|
+
step: .5,
|
|
7722
|
+
default: TRACKING_DEFAULTS.stationarySpeedPx,
|
|
7723
|
+
unit: "px"
|
|
7554
7724
|
},
|
|
7555
7725
|
{
|
|
7556
7726
|
type: "number",
|
|
@@ -7595,12 +7765,13 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
7595
7765
|
},
|
|
7596
7766
|
{
|
|
7597
7767
|
type: "number",
|
|
7598
|
-
key: "
|
|
7599
|
-
label: "Occlusion max
|
|
7600
|
-
description: "Extended coasting
|
|
7768
|
+
key: "occlusionMaxMissedMs",
|
|
7769
|
+
label: "Occlusion max coasting time",
|
|
7770
|
+
description: "Extended coasting time (ms) while a track is hidden behind another.",
|
|
7601
7771
|
min: 0,
|
|
7602
|
-
step:
|
|
7603
|
-
default: TRACKING_DEFAULTS.
|
|
7772
|
+
step: 100,
|
|
7773
|
+
default: TRACKING_DEFAULTS.occlusionMaxMissedMs,
|
|
7774
|
+
unit: "ms"
|
|
7604
7775
|
},
|
|
7605
7776
|
{
|
|
7606
7777
|
type: "boolean",
|