@camstack/addon-post-analysis 1.1.34 → 1.1.36
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-B1EgWJrr.mjs → dist-8DTQLWKO.mjs} +421 -47
- package/dist/{dist-BeDNiKi6.js → dist-Bc4L7FGf.js} +444 -46
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/{node-DYa6O693.js → node-BRwocT7C.js} +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BuAr2V3O.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-CMH9Gs68.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-DLzy78dH.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-DpLNAYiI.mjs → hostInit-Bhr2CNHt.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +231 -120
- package/dist/pipeline-analytics/index.mjs +230 -119
- 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-C8Wc_rxx.mjs +0 -26
|
@@ -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.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.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.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.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.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.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.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.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.1.
|
|
39
|
+
version: "1.1.51",
|
|
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.30",
|
|
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.42",
|
|
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-Bc4L7FGf.js");
|
|
6
6
|
let node_crypto = require("node:crypto");
|
|
7
7
|
let sharp = require("sharp");
|
|
8
8
|
sharp = require_dist.__toESM(sharp);
|
|
@@ -165,13 +165,13 @@ var CLASS_RANK_VEHICLE = .8;
|
|
|
165
165
|
var CLASS_RANK_ANIMAL = .5;
|
|
166
166
|
var CLASS_RANK_DEFAULT = .25;
|
|
167
167
|
var PERSON_CLASSES = new Set(["person", "face"]);
|
|
168
|
-
var VEHICLE_CLASSES
|
|
168
|
+
var VEHICLE_CLASSES = new Set([
|
|
169
169
|
"vehicle",
|
|
170
170
|
"car",
|
|
171
171
|
"truck",
|
|
172
172
|
"bus"
|
|
173
173
|
]);
|
|
174
|
-
var ANIMAL_CLASSES
|
|
174
|
+
var ANIMAL_CLASSES = new Set([
|
|
175
175
|
"animal",
|
|
176
176
|
"dog",
|
|
177
177
|
"cat"
|
|
@@ -187,8 +187,8 @@ function clamp01(x) {
|
|
|
187
187
|
function classRank(className) {
|
|
188
188
|
const c = className.toLowerCase();
|
|
189
189
|
if (PERSON_CLASSES.has(c)) return 1;
|
|
190
|
-
if (VEHICLE_CLASSES
|
|
191
|
-
if (ANIMAL_CLASSES
|
|
190
|
+
if (VEHICLE_CLASSES.has(c)) return CLASS_RANK_VEHICLE;
|
|
191
|
+
if (ANIMAL_CLASSES.has(c)) return CLASS_RANK_ANIMAL;
|
|
192
192
|
return CLASS_RANK_DEFAULT;
|
|
193
193
|
}
|
|
194
194
|
/**
|
|
@@ -3319,6 +3319,10 @@ var TRACKS_COLUMNS = [
|
|
|
3319
3319
|
name: "label",
|
|
3320
3320
|
type: "TEXT"
|
|
3321
3321
|
},
|
|
3322
|
+
{
|
|
3323
|
+
name: "source",
|
|
3324
|
+
type: "TEXT"
|
|
3325
|
+
},
|
|
3322
3326
|
{
|
|
3323
3327
|
name: "firstSeen",
|
|
3324
3328
|
type: "INTEGER",
|
|
@@ -4009,6 +4013,34 @@ var TrackStore = class {
|
|
|
4009
4013
|
const row = records[0];
|
|
4010
4014
|
return this.rowToTrack(row.id, row.data);
|
|
4011
4015
|
}
|
|
4016
|
+
/**
|
|
4017
|
+
* Persist a SYNTHETIC track (a sensor/control event projected into the
|
|
4018
|
+
* unified track store). Unlike `persistCompleted` there is no live in-RAM
|
|
4019
|
+
* state and no trajectory envelope (synthetic tracks carry no positions) —
|
|
4020
|
+
* the row is written directly. `source: 'sensor'` marks it so spatial
|
|
4021
|
+
* consumers skip it; the existing time-based clustering joins it by
|
|
4022
|
+
* timestamp like any other track.
|
|
4023
|
+
*/
|
|
4024
|
+
async persistSyntheticTrack(t) {
|
|
4025
|
+
await this.store.set.mutate({
|
|
4026
|
+
collection: TRACKS_COLLECTION,
|
|
4027
|
+
key: t.trackId,
|
|
4028
|
+
value: {
|
|
4029
|
+
deviceId: t.deviceId,
|
|
4030
|
+
className: t.className,
|
|
4031
|
+
...t.label !== void 0 ? { label: t.label } : {},
|
|
4032
|
+
source: t.source ?? "sensor",
|
|
4033
|
+
firstSeen: t.firstSeen,
|
|
4034
|
+
lastSeen: t.lastSeen,
|
|
4035
|
+
positions: [...t.positions],
|
|
4036
|
+
snapshots: [...t.snapshots],
|
|
4037
|
+
zonesVisited: [...t.zonesVisited],
|
|
4038
|
+
...t.classes !== void 0 ? { classes: [...t.classes] } : {},
|
|
4039
|
+
totalDistance: t.totalDistance,
|
|
4040
|
+
state: t.state
|
|
4041
|
+
}
|
|
4042
|
+
});
|
|
4043
|
+
}
|
|
4012
4044
|
async persistCompleted(t) {
|
|
4013
4045
|
const dims = this.frameDims?.(t.deviceId);
|
|
4014
4046
|
const envelope = computeTrackEnvelope(t.positions, dims?.w, dims?.h);
|
|
@@ -4019,6 +4051,7 @@ var TrackStore = class {
|
|
|
4019
4051
|
deviceId: t.deviceId,
|
|
4020
4052
|
className: t.className,
|
|
4021
4053
|
...t.label !== void 0 ? { label: t.label } : {},
|
|
4054
|
+
...t.source !== void 0 ? { source: t.source } : {},
|
|
4022
4055
|
firstSeen: t.firstSeen,
|
|
4023
4056
|
lastSeen: t.lastSeen,
|
|
4024
4057
|
positions: [...t.positions],
|
|
@@ -4057,6 +4090,7 @@ var TrackStore = class {
|
|
|
4057
4090
|
const zones = data["zonesVisited"] ?? [];
|
|
4058
4091
|
const classes = data["classes"];
|
|
4059
4092
|
const label = data["label"];
|
|
4093
|
+
const source = data["source"];
|
|
4060
4094
|
const importance = data["importance"];
|
|
4061
4095
|
const bestEventId = data["bestEventId"];
|
|
4062
4096
|
const importanceReason = data["importanceReason"];
|
|
@@ -4076,6 +4110,7 @@ var TrackStore = class {
|
|
|
4076
4110
|
deviceId: Number(data["deviceId"]),
|
|
4077
4111
|
className: String(data["className"]),
|
|
4078
4112
|
...typeof label === "string" ? { label } : {},
|
|
4113
|
+
...source === "sensor" || source === "pipeline" ? { source } : {},
|
|
4079
4114
|
firstSeen: Number(data["firstSeen"]),
|
|
4080
4115
|
lastSeen: Number(data["lastSeen"]),
|
|
4081
4116
|
positions,
|
|
@@ -5631,114 +5666,49 @@ function isRecord(x) {
|
|
|
5631
5666
|
* linked camera ids) with a TTL, so the `DeviceStateChanged` handler stays
|
|
5632
5667
|
* cheap at bus rate.
|
|
5633
5668
|
*/
|
|
5634
|
-
var MOTION_COLOR = "#f59e0b";
|
|
5635
|
-
var AUDIO_COLOR = "#06b6d4";
|
|
5636
|
-
var PERSON_COLOR = "#22c55e";
|
|
5637
|
-
var VEHICLE_COLOR = "#3b82f6";
|
|
5638
|
-
var ANIMAL_COLOR = "#f97316";
|
|
5639
|
-
var GENERIC_DETECTION_COLOR = "#64748b";
|
|
5640
|
-
var PACKAGE_COLOR = "#a855f7";
|
|
5641
|
-
var VEHICLE_CLASSES = new Set([
|
|
5642
|
-
"vehicle",
|
|
5643
|
-
"car",
|
|
5644
|
-
"truck",
|
|
5645
|
-
"bus",
|
|
5646
|
-
"motorcycle",
|
|
5647
|
-
"bicycle",
|
|
5648
|
-
"boat",
|
|
5649
|
-
"train"
|
|
5650
|
-
]);
|
|
5651
|
-
var ANIMAL_CLASSES = new Set([
|
|
5652
|
-
"animal",
|
|
5653
|
-
"dog",
|
|
5654
|
-
"cat",
|
|
5655
|
-
"bird",
|
|
5656
|
-
"horse",
|
|
5657
|
-
"cow",
|
|
5658
|
-
"sheep"
|
|
5659
|
-
]);
|
|
5660
|
-
function detectionIcon(className) {
|
|
5661
|
-
if (className === "person") return "person";
|
|
5662
|
-
if (VEHICLE_CLASSES.has(className)) return "vehicle";
|
|
5663
|
-
if (ANIMAL_CLASSES.has(className)) return "animal";
|
|
5664
|
-
return "generic";
|
|
5665
|
-
}
|
|
5666
|
-
function detectionColor(className) {
|
|
5667
|
-
if (className === "person") return PERSON_COLOR;
|
|
5668
|
-
if (VEHICLE_CLASSES.has(className)) return VEHICLE_COLOR;
|
|
5669
|
-
if (ANIMAL_CLASSES.has(className)) return ANIMAL_COLOR;
|
|
5670
|
-
return GENERIC_DETECTION_COLOR;
|
|
5671
|
-
}
|
|
5672
|
-
function titleCase(s) {
|
|
5673
|
-
return s.length > 0 ? s.charAt(0).toUpperCase() + s.slice(1) : s;
|
|
5674
|
-
}
|
|
5675
5669
|
/**
|
|
5676
|
-
* Full event-kind
|
|
5677
|
-
*
|
|
5678
|
-
*
|
|
5670
|
+
* Full event-kind taxonomy a camera CAN emit (config-derived):
|
|
5671
|
+
* (a) motion built-in — always;
|
|
5672
|
+
* (b) each enabled detection macro + its taxonomy subs (reverse COCO);
|
|
5673
|
+
* (c) audio macro + its subs when the classifier is enabled;
|
|
5674
|
+
* (d) package kinds when a package zone rule is enabled;
|
|
5675
|
+
* (e) sensor/control kinds from LINKED devices (binding-driven), deduped
|
|
5676
|
+
* per (kind, source deviceId).
|
|
5677
|
+
* Every descriptor carries parentKind/level/iconId/labelKey via the single
|
|
5678
|
+
* taxonomy dictionary — no color/icon is declared here.
|
|
5679
5679
|
*/
|
|
5680
5680
|
async function composeEventKinds(deps, deviceId) {
|
|
5681
|
-
const out = [
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
|
|
5686
|
-
|
|
5687
|
-
source
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
}, {
|
|
5692
|
-
kind: "audio",
|
|
5693
|
-
label: "Audio",
|
|
5694
|
-
color: AUDIO_COLOR,
|
|
5695
|
-
icon: "audio",
|
|
5696
|
-
category: "audio",
|
|
5697
|
-
source: {
|
|
5698
|
-
capName: "pipeline-analytics",
|
|
5699
|
-
deviceId
|
|
5700
|
-
}
|
|
5701
|
-
}];
|
|
5681
|
+
const out = [];
|
|
5682
|
+
const cameraSource = {
|
|
5683
|
+
capName: "pipeline-analytics",
|
|
5684
|
+
deviceId
|
|
5685
|
+
};
|
|
5686
|
+
const pushKind = (kind, source = cameraSource) => {
|
|
5687
|
+
const d = require_dist.buildEventKindDescriptor(kind, source);
|
|
5688
|
+
if (d !== null) out.push(d);
|
|
5689
|
+
};
|
|
5690
|
+
pushKind("motion");
|
|
5702
5691
|
try {
|
|
5703
|
-
const
|
|
5704
|
-
for (const
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5708
|
-
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
5714
|
-
|
|
5692
|
+
const macros = await deps.enabledMacroClasses(deviceId);
|
|
5693
|
+
for (const macro of macros) {
|
|
5694
|
+
pushKind(macro);
|
|
5695
|
+
for (const sub of require_dist.subKindsOf(macro)) pushKind(sub.kind);
|
|
5696
|
+
}
|
|
5697
|
+
} catch (err) {
|
|
5698
|
+
deps.onError?.("enabledMacroClasses", err);
|
|
5699
|
+
}
|
|
5700
|
+
try {
|
|
5701
|
+
if (await deps.audioEnabled(deviceId)) {
|
|
5702
|
+
pushKind("audio");
|
|
5703
|
+
for (const sub of require_dist.subKindsOf("audio")) pushKind(sub.kind);
|
|
5704
|
+
}
|
|
5715
5705
|
} catch (err) {
|
|
5716
|
-
deps.onError?.("
|
|
5706
|
+
deps.onError?.("audioEnabled", err);
|
|
5717
5707
|
}
|
|
5718
5708
|
try {
|
|
5719
5709
|
if (deps.packageZonesEnabled && await deps.packageZonesEnabled(deviceId)) {
|
|
5720
|
-
|
|
5721
|
-
|
|
5722
|
-
label: "Package delivered",
|
|
5723
|
-
color: PACKAGE_COLOR,
|
|
5724
|
-
icon: "package",
|
|
5725
|
-
category: "package",
|
|
5726
|
-
source: {
|
|
5727
|
-
capName: "pipeline-analytics",
|
|
5728
|
-
deviceId
|
|
5729
|
-
}
|
|
5730
|
-
});
|
|
5731
|
-
out.push({
|
|
5732
|
-
kind: "package-picked-up",
|
|
5733
|
-
label: "Package picked up",
|
|
5734
|
-
color: PACKAGE_COLOR,
|
|
5735
|
-
icon: "package",
|
|
5736
|
-
category: "package",
|
|
5737
|
-
source: {
|
|
5738
|
-
capName: "pipeline-analytics",
|
|
5739
|
-
deviceId
|
|
5740
|
-
}
|
|
5741
|
-
});
|
|
5710
|
+
pushKind("package");
|
|
5711
|
+
for (const sub of require_dist.subKindsOf("package")) pushKind(sub.kind);
|
|
5742
5712
|
}
|
|
5743
5713
|
} catch (err) {
|
|
5744
5714
|
deps.onError?.("packageZonesEnabled", err);
|
|
@@ -5761,16 +5731,9 @@ async function composeEventKinds(deps, deviceId) {
|
|
|
5761
5731
|
const dedupeKey = `${descriptor.kind}:${linked.deviceId}`;
|
|
5762
5732
|
if (seen.has(dedupeKey)) continue;
|
|
5763
5733
|
seen.add(dedupeKey);
|
|
5764
|
-
|
|
5765
|
-
|
|
5766
|
-
|
|
5767
|
-
color: descriptor.color,
|
|
5768
|
-
icon: descriptor.icon,
|
|
5769
|
-
category: descriptor.category,
|
|
5770
|
-
source: {
|
|
5771
|
-
capName,
|
|
5772
|
-
deviceId: linked.deviceId
|
|
5773
|
-
}
|
|
5734
|
+
pushKind(descriptor.kind, {
|
|
5735
|
+
capName,
|
|
5736
|
+
deviceId: linked.deviceId
|
|
5774
5737
|
});
|
|
5775
5738
|
}
|
|
5776
5739
|
}
|
|
@@ -5866,6 +5829,110 @@ async function ingestSensorStateChange(deps, data, timestamp) {
|
|
|
5866
5829
|
return inserted;
|
|
5867
5830
|
}
|
|
5868
5831
|
//#endregion
|
|
5832
|
+
//#region src/pipeline-analytics/services/synthetic-sensor-track.ts
|
|
5833
|
+
/**
|
|
5834
|
+
* Synthetic sensor/control tracks (event-kinds-taxonomy §8).
|
|
5835
|
+
*
|
|
5836
|
+
* A linked sensor/control state change is projected into the UNIFIED track
|
|
5837
|
+
* store as a SYNTHETIC track: `className` = the event kind (`contact` /
|
|
5838
|
+
* `lock` / `switch` …), `source: 'sensor'`, media = an on-demand snapshot of
|
|
5839
|
+
* the linked camera in the SAME `getTrackMedia` shape the UIs consume (no
|
|
5840
|
+
* bbox → full frame), `positions: []`. It joins the timeline via the existing
|
|
5841
|
+
* time-based clustering — no new join mechanism.
|
|
5842
|
+
*
|
|
5843
|
+
* The raw `SensorEvent` remains the durable record; this track is its
|
|
5844
|
+
* projection. Snapshots are debounced per `(camera, kind)` so a chattery
|
|
5845
|
+
* sensor doesn't hammer the snapshot cap. Spatial consumers MUST skip
|
|
5846
|
+
* `source:'sensor'` tracks (they carry no trajectory).
|
|
5847
|
+
*/
|
|
5848
|
+
var DEFAULT_DEBOUNCE_MS = 1e4;
|
|
5849
|
+
/** Full-frame, position-less placeholder (spatial consumers skip these). */
|
|
5850
|
+
function zeroPosition(timestamp) {
|
|
5851
|
+
return {
|
|
5852
|
+
x: 0,
|
|
5853
|
+
y: 0,
|
|
5854
|
+
timestamp,
|
|
5855
|
+
bbox: {
|
|
5856
|
+
x: 0,
|
|
5857
|
+
y: 0,
|
|
5858
|
+
w: 0,
|
|
5859
|
+
h: 0
|
|
5860
|
+
}
|
|
5861
|
+
};
|
|
5862
|
+
}
|
|
5863
|
+
var SyntheticSensorTrackMaterializer = class {
|
|
5864
|
+
deps;
|
|
5865
|
+
debounceMs;
|
|
5866
|
+
makeId;
|
|
5867
|
+
now;
|
|
5868
|
+
/** Last snapshot time per `${cameraId}:${kind}`. */
|
|
5869
|
+
lastAt = /* @__PURE__ */ new Map();
|
|
5870
|
+
constructor(deps) {
|
|
5871
|
+
this.deps = deps;
|
|
5872
|
+
this.debounceMs = deps.debounceMs ?? DEFAULT_DEBOUNCE_MS;
|
|
5873
|
+
this.makeId = deps.makeId ?? (() => `pa-synth-${(0, node_crypto.randomUUID)()}`);
|
|
5874
|
+
this.now = deps.now ?? Date.now;
|
|
5875
|
+
}
|
|
5876
|
+
/**
|
|
5877
|
+
* Materialize a synthetic track for a sensor/control event on `cameraId`.
|
|
5878
|
+
* Returns the persisted track, or null when debounced. Snapshot failure
|
|
5879
|
+
* still lands a track (with no media) — it never blocks the sensor record.
|
|
5880
|
+
*/
|
|
5881
|
+
async materialize(input) {
|
|
5882
|
+
const key = `${input.cameraId}:${input.kind}`;
|
|
5883
|
+
const last = this.lastAt.get(key);
|
|
5884
|
+
if (last !== void 0 && this.now() - last < this.debounceMs) return null;
|
|
5885
|
+
this.lastAt.set(key, this.now());
|
|
5886
|
+
const trackId = this.makeId();
|
|
5887
|
+
const ts = input.timestamp;
|
|
5888
|
+
let mediaKey = null;
|
|
5889
|
+
try {
|
|
5890
|
+
const snap = await this.deps.snapshot.getSnapshot({
|
|
5891
|
+
deviceId: input.cameraId,
|
|
5892
|
+
force: true
|
|
5893
|
+
});
|
|
5894
|
+
if (snap !== null) {
|
|
5895
|
+
const data = Buffer.from(snap.base64, "base64");
|
|
5896
|
+
mediaKey = await this.deps.media.put({
|
|
5897
|
+
deviceId: input.cameraId,
|
|
5898
|
+
ownerKind: "track",
|
|
5899
|
+
ownerId: trackId,
|
|
5900
|
+
kind: "snapshot",
|
|
5901
|
+
timestamp: ts,
|
|
5902
|
+
data
|
|
5903
|
+
});
|
|
5904
|
+
} else this.deps.onError?.("getSnapshot", /* @__PURE__ */ new Error("snapshot returned null"));
|
|
5905
|
+
} catch (err) {
|
|
5906
|
+
this.deps.onError?.("snapshotMedia", err);
|
|
5907
|
+
}
|
|
5908
|
+
const track = {
|
|
5909
|
+
trackId,
|
|
5910
|
+
deviceId: input.cameraId,
|
|
5911
|
+
className: input.kind,
|
|
5912
|
+
source: "sensor",
|
|
5913
|
+
firstSeen: ts,
|
|
5914
|
+
lastSeen: ts,
|
|
5915
|
+
positions: [],
|
|
5916
|
+
snapshots: mediaKey !== null ? [{
|
|
5917
|
+
timestamp: ts,
|
|
5918
|
+
position: zeroPosition(ts),
|
|
5919
|
+
mediaKey
|
|
5920
|
+
}] : [],
|
|
5921
|
+
zonesVisited: [],
|
|
5922
|
+
totalDistance: 0,
|
|
5923
|
+
state: "idle",
|
|
5924
|
+
active: false
|
|
5925
|
+
};
|
|
5926
|
+
try {
|
|
5927
|
+
await this.deps.tracks.persistSyntheticTrack(track);
|
|
5928
|
+
} catch (err) {
|
|
5929
|
+
this.deps.onError?.("persistSyntheticTrack", err);
|
|
5930
|
+
return null;
|
|
5931
|
+
}
|
|
5932
|
+
return track;
|
|
5933
|
+
}
|
|
5934
|
+
};
|
|
5935
|
+
//#endregion
|
|
5869
5936
|
//#region src/shared/frame/resolve-frame.ts
|
|
5870
5937
|
/**
|
|
5871
5938
|
* Resolve the pixels a `FrameHandle` refers to via the node-routed fetch.
|
|
@@ -5913,7 +5980,7 @@ function squareSafeCropRegion(bbox, frame, padding) {
|
|
|
5913
5980
|
}
|
|
5914
5981
|
//#endregion
|
|
5915
5982
|
//#region src/shared/frame/box-drawer.ts
|
|
5916
|
-
var DEFAULT_COLOR =
|
|
5983
|
+
var DEFAULT_COLOR = require_dist.DEFAULT_EVENT_COLOR;
|
|
5917
5984
|
var DEFAULT_QUALITY = 80;
|
|
5918
5985
|
var STROKE_WIDTH = 3;
|
|
5919
5986
|
function escapeXml(s) {
|
|
@@ -11207,6 +11274,8 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
11207
11274
|
/** Ingest-side reverse index (sensor device → linked camera ids), TTL-cached
|
|
11208
11275
|
* so the DeviceStateChanged handler stays cheap. */
|
|
11209
11276
|
linkedCamerasCache = null;
|
|
11277
|
+
/** Projects sensor/control events into synthetic snapshot-carrying tracks. */
|
|
11278
|
+
syntheticSensorTracks = null;
|
|
11210
11279
|
identityStore = null;
|
|
11211
11280
|
faceStore = null;
|
|
11212
11281
|
faceRecognizer = null;
|
|
@@ -11369,16 +11438,17 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
11369
11438
|
let storage = this.ctx.kernel.storage;
|
|
11370
11439
|
const mediaRoot = process.env.CAMSTACK_MEDIA_ROOT?.trim();
|
|
11371
11440
|
if (mediaRoot) {
|
|
11372
|
-
const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-
|
|
11441
|
+
const { FilesystemStorageProvider } = await Promise.resolve().then(() => require("../node-BRwocT7C.js"));
|
|
11373
11442
|
storage = new FilesystemStorageProvider(mediaRoot);
|
|
11374
11443
|
logger.info("pipeline-analytics: event media rooted at CAMSTACK_MEDIA_ROOT", { meta: { mediaRoot } });
|
|
11375
11444
|
}
|
|
11376
11445
|
if (!storage) throw new Error("pipeline-analytics requires ctx.kernel.storage");
|
|
11377
|
-
|
|
11446
|
+
const trackStore = new TrackStore({
|
|
11378
11447
|
store: api.settingsStore,
|
|
11379
11448
|
logger: logger.child("TrackStore"),
|
|
11380
11449
|
frameDims: (deviceId) => this.lastFrameDimsByDevice.get(deviceId)
|
|
11381
11450
|
});
|
|
11451
|
+
this.trackStore = trackStore;
|
|
11382
11452
|
this.stationaryRegistry = new StationaryObjectRegistry({
|
|
11383
11453
|
store: api.settingsStore,
|
|
11384
11454
|
logger: logger.child("StationaryRegistry"),
|
|
@@ -11408,11 +11478,12 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
11408
11478
|
}
|
|
11409
11479
|
});
|
|
11410
11480
|
await this.stationaryRegistry.load();
|
|
11411
|
-
|
|
11481
|
+
const mediaStore = new MediaStore({
|
|
11412
11482
|
storage,
|
|
11413
11483
|
store: api.settingsStore,
|
|
11414
11484
|
logger: logger.child("MediaStore")
|
|
11415
11485
|
});
|
|
11486
|
+
this.mediaStore = mediaStore;
|
|
11416
11487
|
const eventStore = new EventStore({
|
|
11417
11488
|
store: api.settingsStore,
|
|
11418
11489
|
logger: logger.child("EventStore"),
|
|
@@ -11472,6 +11543,15 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
11472
11543
|
error: require_dist.errMsg(err)
|
|
11473
11544
|
} })
|
|
11474
11545
|
});
|
|
11546
|
+
this.syntheticSensorTracks = new SyntheticSensorTrackMaterializer({
|
|
11547
|
+
snapshot: { getSnapshot: (i) => api.snapshot.getSnapshot.query(i) },
|
|
11548
|
+
media: mediaStore,
|
|
11549
|
+
tracks: trackStore,
|
|
11550
|
+
onError: (scope, err) => logger.warn("synthetic sensor-track error", { meta: {
|
|
11551
|
+
scope,
|
|
11552
|
+
error: require_dist.errMsg(err)
|
|
11553
|
+
} })
|
|
11554
|
+
});
|
|
11475
11555
|
this.identityStore = new IdentityStore({
|
|
11476
11556
|
store: api.settingsStore,
|
|
11477
11557
|
logger: logger.child("IdentityStore")
|
|
@@ -13709,10 +13789,21 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13709
13789
|
*/
|
|
13710
13790
|
async listEventKinds(input) {
|
|
13711
13791
|
const api = this.ctx.api;
|
|
13792
|
+
const status = await api.pipelineOrchestrator.getCameraStatus.query({ deviceId: input.deviceId }).catch((err) => {
|
|
13793
|
+
this.ctx.logger.warn("listEventKinds: getCameraStatus failed", {
|
|
13794
|
+
tags: { deviceId: input.deviceId },
|
|
13795
|
+
meta: { error: require_dist.errMsg(err) }
|
|
13796
|
+
});
|
|
13797
|
+
return null;
|
|
13798
|
+
});
|
|
13799
|
+
const detectionOn = status?.detection != null;
|
|
13800
|
+
const audioOn = status?.audio?.enabled === true;
|
|
13801
|
+
const detectionMacros = require_dist.MACRO_LABELS.map((l) => l.id).filter((id) => id !== "package");
|
|
13712
13802
|
return composeEventKinds({
|
|
13713
13803
|
linkedDevices: { getLinkedDevices: (i) => api.deviceManager.getLinkedDevices.query(i) },
|
|
13714
13804
|
bindings: { getBindings: (i) => api.deviceManager.getBindings.query(i) },
|
|
13715
|
-
|
|
13805
|
+
enabledMacroClasses: async () => detectionOn ? detectionMacros : [],
|
|
13806
|
+
audioEnabled: async () => audioOn,
|
|
13716
13807
|
packageZonesEnabled: async (deviceId) => {
|
|
13717
13808
|
return (await this.resolveDevicePackageRules(deviceId)).some((r) => r.enabled !== false);
|
|
13718
13809
|
},
|
|
@@ -13752,6 +13843,26 @@ var PipelineAnalyticsAddon = class extends require_dist.BaseAddon {
|
|
|
13752
13843
|
}
|
|
13753
13844
|
});
|
|
13754
13845
|
}
|
|
13846
|
+
const materializer = this.syntheticSensorTracks;
|
|
13847
|
+
const descriptor = require_dist.EVENT_KIND_BY_CAP[data.capName];
|
|
13848
|
+
if (materializer === null || descriptor === void 0) return;
|
|
13849
|
+
try {
|
|
13850
|
+
const cameraIds = await cache.camerasFor(data.deviceId);
|
|
13851
|
+
for (const cameraId of cameraIds) await materializer.materialize({
|
|
13852
|
+
cameraId,
|
|
13853
|
+
sourceDeviceId: data.deviceId,
|
|
13854
|
+
kind: descriptor.kind,
|
|
13855
|
+
timestamp
|
|
13856
|
+
});
|
|
13857
|
+
} catch (err) {
|
|
13858
|
+
this.ctx.logger.warn("synthetic sensor-track materialize failed", {
|
|
13859
|
+
tags: { deviceId: data.deviceId },
|
|
13860
|
+
meta: {
|
|
13861
|
+
capName: data.capName,
|
|
13862
|
+
error: require_dist.errMsg(err)
|
|
13863
|
+
}
|
|
13864
|
+
});
|
|
13865
|
+
}
|
|
13755
13866
|
}
|
|
13756
13867
|
async clearTracks(input) {
|
|
13757
13868
|
this.trackStore?.clearDevice(input.deviceId);
|