@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.
@@ -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.50",
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.29",
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.41",
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-BeDNiKi6.js");
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$1 = new Set([
168
+ var VEHICLE_CLASSES = new Set([
169
169
  "vehicle",
170
170
  "car",
171
171
  "truck",
172
172
  "bus"
173
173
  ]);
174
- var ANIMAL_CLASSES$1 = new Set([
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$1.has(c)) return CLASS_RANK_VEHICLE;
191
- if (ANIMAL_CLASSES$1.has(c)) return CLASS_RANK_ANIMAL;
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 list for a camera. Sensor kinds are deduped per
5677
- * (kind, source deviceId)two linked contact sensors each contribute
5678
- * their own entry, distinguishable by `source.deviceId`.
5670
+ * Full event-kind taxonomy a camera CAN emit (config-derived):
5671
+ * (a) motion built-inalways;
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
- kind: "motion",
5683
- label: "Motion",
5684
- color: MOTION_COLOR,
5685
- icon: "motion",
5686
- category: "motion",
5687
- source: {
5688
- capName: "pipeline-analytics",
5689
- deviceId
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 classNames = await deps.observedClassNames(deviceId);
5704
- for (const className of [...classNames].sort()) out.push({
5705
- kind: className,
5706
- label: titleCase(className),
5707
- color: detectionColor(className),
5708
- icon: detectionIcon(className),
5709
- category: "detection",
5710
- source: {
5711
- capName: "pipeline-analytics",
5712
- deviceId
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?.("observedClassNames", err);
5706
+ deps.onError?.("audioEnabled", err);
5717
5707
  }
5718
5708
  try {
5719
5709
  if (deps.packageZonesEnabled && await deps.packageZonesEnabled(deviceId)) {
5720
- out.push({
5721
- kind: "package-delivered",
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
- out.push({
5765
- kind: descriptor.kind,
5766
- label: descriptor.label,
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 = "#22ff55";
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-DYa6O693.js"));
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
- this.trackStore = new TrackStore({
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
- this.mediaStore = new MediaStore({
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
- observedClassNames: async (deviceId) => this.trackStore?.observedClassNames(deviceId) ?? [],
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);