@camstack/addon-osd-manager 0.1.97 → 0.1.98

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/_stub.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./virtualExposes-BgZ5Cn7S.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dc06UWXO.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Cx68KkGj.mjs";
3
3
  import { _ as e, c as t, d as n, h as r, i, l as a, m as o, p as s, r as c, t as l, u, y as d } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-Bs1t18EM.mjs";
4
4
  import { i as f, o as p, r as m, s as h } from "./responsive-Db-2LAhn.mjs";
5
5
  import { d as g, l as _, u as v } from "./use-device-snapshot-VChilLVp.mjs";
@@ -1658,7 +1658,7 @@ P.deviceManager.setWrapperActive.useMutation, P.deviceManager.listWrappersForCap
1658
1658
  var on = P.deviceState.getSnapshot.useQuery;
1659
1659
  P.deviceState.getCapSlice.useQuery, P.deviceState.getAllSnapshots.useQuery, P.deviceState.setCapSlice.useMutation, P.deviceStatus.getStatus.useQuery, P.doorbell.getStatus.useQuery, P.doorbell.getDeviceSettingsContribution.useQuery, P.doorbell.getDeviceLiveContribution.useQuery, P.doorbell.applyDeviceSettingsPatch.useMutation, P.enumSensor.getStatus.useQuery, P.eventEmitter.getStatus.useQuery, P.events.getEvents.useQuery, P.events.getEventThumbnail.useQuery, P.events.getEventClipUrl.useQuery, P.faceGallery.listIdentities.useQuery, P.faceGallery.createIdentity.useMutation, P.faceGallery.renameIdentity.useMutation, P.faceGallery.deleteIdentity.useMutation, P.faceGallery.listIdentitySamples.useQuery, P.faceGallery.auditIdentitySamples.useQuery, P.faceGallery.removeSample.useMutation, P.faceGallery.listRecentFaces.useQuery, P.faceGallery.getFaceByTrack.useQuery, P.faceGallery.getFaceMedia.useQuery, P.faceGallery.assignFace.useMutation, P.faceGallery.unassignFace.useMutation, P.faceGallery.deleteFace.useMutation, P.faceGallery.assignFaces.useMutation, P.faceGallery.unassignFaces.useMutation, P.faceGallery.suggestFaceClusters.useQuery, P.fanControl.setPercentage.useMutation, P.fanControl.setPreset.useMutation, P.fanControl.setDirection.useMutation, P.fanControl.setOscillating.useMutation, P.fanControl.getStatus.useQuery, P.featureProbe.getStatus.useQuery, P.flood.getStatus.useQuery, P.gas.getStatus.useQuery, P.humidifier.setOn.useMutation, P.humidifier.setTargetHumidity.useMutation, P.humidifier.setMode.useMutation, P.humidifier.getStatus.useQuery, P.humiditySensor.getStatus.useQuery, P.image.getStatus.useQuery, P.imageSettings.getOptions.useQuery, P.imageSettings.setSettings.useMutation, P.imageSettings.getStatus.useQuery, P.integrations.list.useQuery, P.integrations.get.useQuery, P.integrations.getByAddonId.useQuery, P.integrations.create.useMutation, P.integrations.update.useMutation, P.integrations.delete.useMutation, P.integrations.getSettings.useQuery, P.integrations.setSettings.useMutation, P.integrations.getAvailableTypes.useQuery, P.integrations.testConnection.useMutation, P.intercom.startSession.useMutation, P.intercom.handleAnswer.useMutation, P.intercom.stopSession.useMutation, P.intercom.startTalkSession.useMutation, P.intercom.pushTalkAudio.useMutation, P.intercom.endTalkSession.useMutation, P.intercom.getStatus.useQuery, P.lawnMowerControl.startMowing.useMutation, P.lawnMowerControl.pause.useMutation, P.lawnMowerControl.dock.useMutation, P.lawnMowerControl.getStatus.useQuery, P.llm.generate.useMutation, P.llm.generateVision.useMutation, P.llm.cancel.useMutation, P.llm.listProfileKinds.useQuery, P.llm.listProfiles.useQuery, P.llm.upsertProfile.useMutation, P.llm.deleteProfile.useMutation, P.llm.testProfile.useMutation, P.llm.listModels.useQuery, P.llm.getDefaults.useQuery, P.llm.setDefault.useMutation, P.llm.getUsage.useQuery, P.llm.listModelCatalog.useQuery, P.llm.listRuntimeNodes.useQuery, P.llm.listNodeModels.useQuery, P.llm.resolveModelRef.useMutation, P.llm.installModel.useMutation, P.llm.deleteModel.useMutation, P.llm.getRuntimeStatus.useQuery, P.llm.startRuntime.useMutation, P.llm.stopRuntime.useMutation, P.localNetwork.list.useQuery, P.localNetwork.getPreferred.useQuery, P.localNetwork.getConnectionEndpoints.useQuery, P.localNetwork.getNotificationEndpoint.useQuery, P.localNetwork.setNotificationEndpoint.useMutation, P.localNetwork.getViewerEndpoints.useQuery, P.localNetwork.setViewerEndpoints.useMutation, P.localNetwork.getAllowedAddresses.useQuery, P.localNetwork.setAllowedAddresses.useMutation, P.localNetwork.resetAllowlistToBestMatch.useMutation, P.localNetwork.getTlsStatus.useQuery, P.localNetwork.regenerateCertificate.useMutation, P.localNetwork.uploadCertificate.useMutation, P.localNetwork.downloadCa.useQuery, P.localNetwork.revertToGeneratedCertificate.useMutation, P.lockControl.lock.useMutation, P.lockControl.unlock.useMutation, P.lockControl.open.useMutation, P.lockControl.getStatus.useQuery, P.mediaPlayer.play.useMutation, P.mediaPlayer.pause.useMutation, P.mediaPlayer.stop.useMutation, P.mediaPlayer.next.useMutation, P.mediaPlayer.previous.useMutation, P.mediaPlayer.seek.useMutation, P.mediaPlayer.setVolume.useMutation, P.mediaPlayer.setMute.useMutation, P.mediaPlayer.setShuffle.useMutation, P.mediaPlayer.setRepeat.useMutation, P.mediaPlayer.selectSource.useMutation, P.mediaPlayer.playMedia.useMutation, P.mediaPlayer.getStatus.useQuery, P.meshNetwork.getStatus.useQuery, P.meshNetwork.join.useMutation, P.meshNetwork.startLogin.useMutation, P.meshNetwork.leave.useMutation, P.meshNetwork.logout.useMutation, P.meshNetwork.listPeers.useQuery, P.meshNetwork.testConnection.useMutation, P.metricsProvider.collectSnapshot.useQuery, P.metricsProvider.getCached.useQuery, P.metricsProvider.getCurrent.useQuery, P.metricsProvider.getDiskSpace.useQuery, P.metricsProvider.getGpuInfo.useQuery, P.metricsProvider.getCpuTemperature.useQuery, P.metricsProvider.getProcessStats.useQuery, P.metricsProvider.listAddonInstances.useQuery, P.metricsProvider.getAddonStats.useQuery, P.metricsProvider.listNodeProcesses.useQuery, P.metricsProvider.getLoadSeries.useQuery, P.motion.isDetected.useQuery, P.motion.getStatus.useQuery, P.motionDetection.analyze.useMutation, P.motionDetection.removeCamera.useMutation, P.motionDetection.reset.useMutation, P.motionDetection.getDeviceSettingsContribution.useQuery, P.motionDetection.getDeviceLiveContribution.useQuery, P.motionDetection.applyDeviceSettingsPatch.useMutation, P.motionTrigger.setMotionTrigger.useMutation, P.motionTrigger.getStatus.useQuery, P.motionZones.getOptions.useQuery, P.motionZones.setZone.useMutation, P.motionZones.getStatus.useQuery, P.mqttBroker.listBrokers.useQuery, P.mqttBroker.getBrokerConfig.useQuery, P.mqttBroker.addBroker.useMutation, P.mqttBroker.removeBroker.useMutation, P.mqttBroker.testConnection.useMutation, P.mqttBroker.startEmbeddedBroker.useMutation, P.mqttBroker.stopEmbeddedBroker.useMutation, P.mqttBroker.getStatus.useQuery, P.nativeObjectDetection.setEnabled.useMutation, P.nativeObjectDetection.getStatus.useQuery, P.navigation.move.useMutation, P.navigation.stop.useMutation, P.navigation.goToPoint.useMutation, P.navigation.listActions.useQuery, P.navigation.runAction.useMutation, P.navigation.playSound.useMutation, P.navigation.setLightOn.useMutation, P.navigation.setLightMode.useMutation, P.navigation.setLightLevel.useMutation, P.navigation.getFeatures.useQuery, P.navigation.getStatus.useQuery, P.networkAccess.start.useMutation, P.networkAccess.stop.useMutation, P.networkAccess.getEndpoint.useQuery, P.networkAccess.getStatus.useQuery, P.networkAccess.listEndpoints.useQuery, P.networkLink.getStatus.useQuery, P.networkQuality.getDeviceStats.useQuery, P.networkQuality.getAllStats.useQuery, P.networkQuality.reportClientStats.useMutation, P.nodes.topology.useQuery, P.nodes.deployAddon.useMutation, P.nodes.undeployAddon.useMutation, P.nodes.restartAddon.useMutation, P.nodes.restartProcess.useMutation, P.nodes.restartNode.useMutation, P.nodes.shutdownNode.useMutation, P.nodes.renameNode.useMutation, P.nodes.clusterAddonStatus.useQuery, P.nodes.getCapUsageGraph.useQuery, P.nodes.getNodeAddons.useQuery, P.nodes.setProcessLogLevel.useMutation, P.nodes.executeQuery.useMutation, P.notificationOutput.listTargetKinds.useQuery, P.notificationOutput.listTargets.useQuery, P.notificationOutput.discoverTargets.useQuery, P.notificationOutput.send.useMutation, P.notificationOutput.testTarget.useMutation, P.notificationOutput.upsertTarget.useMutation, P.notificationOutput.deleteTarget.useMutation, P.notificationOutput.setTargetEnabled.useMutation, P.notificationRules.listRules.useQuery, P.notificationRules.getRule.useQuery, P.notificationRules.createRule.useMutation, P.notificationRules.updateRule.useMutation, P.notificationRules.deleteRule.useMutation, P.notificationRules.setRuleEnabled.useMutation, P.notificationRules.listDeviceMutes.useQuery, P.notificationRules.setDeviceMuted.useMutation, P.notificationRules.testRule.useMutation, P.notificationRules.getConditionCatalog.useQuery, P.notificationRules.getHistory.useQuery, P.notificationRules.resolveArtifactUrl.useQuery, P.notificationRules.listSnoozes.useQuery, P.notificationRules.createSnooze.useMutation, P.notificationRules.cancelSnooze.useMutation, P.notificationRules.getAlarmConfig.useQuery, P.notificationRules.setAlarmConfig.useMutation, P.notifier.send.useMutation, P.notifier.cancel.useMutation, P.notifier.getStatus.useQuery, P.numericSensor.getStatus.useQuery, P.osd.setOverlay.useMutation, P.osd.getStatus.useQuery;
1660
1660
  var sn = P.osdManager.getDeviceOsd.useQuery, cn = P.osdManager.getSourceCatalog.useQuery, ln = P.osdManager.getConditionSupport.useQuery, un = P.osdManager.setSlotBinding.useMutation, dn = P.osdManager.clearSlotBinding.useMutation, fn = P.osdManager.copyDeviceConfiguration.useMutation, pn = P.osdManager.previewSlot.useMutation, mn = P.osdManager.renderDevice.useMutation;
1661
- P.petFeeder.feed.useMutation, P.petFeeder.cancelFeed.useMutation, P.petFeeder.resetDesiccant.useMutation, P.petFeeder.markFoodReplenished.useMutation, P.petFeeder.callPet.useMutation, P.petFeeder.playSound.useMutation, P.petFeeder.setChildLock.useMutation, P.petFeeder.setIndicatorLight.useMutation, P.petFeeder.setFeedSound.useMutation, P.petFeeder.setVolume.useMutation, P.petFeeder.getStatus.useQuery, P.pipelineAnalytics.getActiveTracks.useQuery, P.pipelineAnalytics.getTrack.useQuery, P.pipelineAnalytics.listTracks.useQuery, P.pipelineAnalytics.listRecentTracks.useQuery, P.pipelineAnalytics.listSummaries.useQuery, P.pipelineAnalytics.getSummary.useQuery, P.pipelineAnalytics.clearTracks.useMutation, P.pipelineAnalytics.getMotionEvents.useQuery, P.pipelineAnalytics.getObjectEvents.useQuery, P.pipelineAnalytics.getAudioEvents.useQuery, P.pipelineAnalytics.listEventKinds.useQuery, P.pipelineAnalytics.listEventKindsBatch.useQuery, P.pipelineAnalytics.getSensorEvents.useQuery, P.pipelineAnalytics.getKeyEvents.useQuery, P.pipelineAnalytics.getKeyEventsBatch.useQuery, P.pipelineAnalytics.getEventDensity.useQuery, P.pipelineAnalytics.getEventDensityBatch.useQuery, P.pipelineAnalytics.pruneEventsBefore.useMutation, P.pipelineAnalytics.pruneTracksBefore.useMutation, P.pipelineAnalytics.wipeAllAnalytics.useMutation, P.pipelineAnalytics.reconcileFromDisk.useMutation, P.pipelineAnalytics.deleteTracks.useMutation, P.pipelineAnalytics.setTrackFlags.useMutation, P.pipelineAnalytics.listArchivedDebugNotes.useQuery, P.pipelineAnalytics.listBirthDecisions.useQuery, P.pipelineAnalytics.getEventStoreFootprint.useQuery, P.pipelineAnalytics.getEventMediaFootprintByKind.useQuery, P.pipelineAnalytics.pruneEvents.useMutation, P.pipelineAnalytics.deleteDeviceEvents.useMutation, P.pipelineAnalytics.pauseForStorageMigration.useMutation, P.pipelineAnalytics.resumeForStorageMigration.useMutation, P.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, P.pipelineAnalytics.startStorageMigrationMove.useMutation, P.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, P.pipelineAnalytics.cancelStorageMigrationMove.useMutation, P.pipelineAnalytics.relocateMedia.useMutation, P.pipelineAnalytics.countUnstampedEventMedia.useQuery, P.pipelineAnalytics.countRelocatableMedia.useQuery, P.pipelineAnalytics.listRelocateMediaJobs.useQuery, P.pipelineAnalytics.cancelRelocateMedia.useMutation, P.pipelineAnalytics.listOpsLog.useQuery, P.pipelineAnalytics.reclaimDebugMedia.useMutation, P.pipelineAnalytics.getMediaReclaimStatus.useQuery, P.pipelineAnalytics.getTrainingExportSummary.useQuery, P.pipelineAnalytics.getTrainingExportUrl.useQuery, P.pipelineAnalytics.listRetrainStaging.useQuery, P.pipelineAnalytics.listRetrainFrames.useQuery, P.pipelineAnalytics.selectRetrainFrames.useMutation, P.pipelineAnalytics.deselectRetrainFrame.useMutation, P.pipelineAnalytics.getRetrainFrameImage.useQuery, P.pipelineAnalytics.proposeRetrainAnnotations.useMutation, P.pipelineAnalytics.runReplayFrameProcessor.useMutation, P.pipelineAnalytics.listRetrainAnnotations.useQuery, P.pipelineAnalytics.saveRetrainAnnotations.useMutation, P.pipelineAnalytics.completeRetrainTrack.useMutation, P.pipelineAnalytics.restageRetrainTrack.useMutation, P.pipelineAnalytics.getRetrainExportUrl.useQuery, P.pipelineAnalytics.getEventMedia.useQuery, P.pipelineAnalytics.getTrackMedia.useQuery, P.pipelineAnalytics.listTrackMedia.useQuery, P.pipelineAnalytics.listEventMedia.useQuery, P.pipelineAnalytics.searchObjectEvents.useQuery, P.pipelineAnalytics.wipeObjectEmbeddings.useMutation, P.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, P.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, P.pipelineAnalytics.getDeviceSettingsContribution.useQuery, P.pipelineAnalytics.getDeviceLiveContribution.useQuery, P.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, P.pipelineExecutor.getAvailableEngines.useQuery, P.pipelineExecutor.getSelectedEngine.useQuery, P.pipelineExecutor.getDefaultSteps.useQuery, P.pipelineExecutor.getEngineProvisioning.useQuery, P.pipelineExecutor.getVideoPipelineSteps.useQuery, P.pipelineExecutor.setVideoPipelineSteps.useMutation, P.pipelineExecutor.clearDeviceOverrides.useMutation, P.pipelineExecutor.getInferenceDeviceHealth.useQuery, P.pipelineExecutor.rearmInferenceDevice.useMutation, P.pipelineExecutor.getSchema.useQuery, P.pipelineExecutor.getGlobalSteps.useQuery, P.pipelineExecutor.getGlobalPipelineConfig.useQuery, P.pipelineExecutor.getOrchestratorConfigSchema.useQuery, P.pipelineExecutor.validatePipeline.useQuery, P.pipelineExecutor.listTemplates.useQuery, P.pipelineExecutor.saveTemplate.useMutation, P.pipelineExecutor.updateTemplate.useMutation, P.pipelineExecutor.deleteTemplate.useMutation, P.pipelineExecutor.getCapabilities.useQuery, P.pipelineExecutor.getAddonModels.useQuery, P.pipelineExecutor.downloadModel.useMutation, P.pipelineExecutor.deleteModel.useMutation, P.pipelineExecutor.runPipeline.useMutation, P.pipelineExecutor.runPipelineBatch.useMutation, P.pipelineExecutor.cacheFrameInPool.useMutation, P.pipelineExecutor.inferCached.useMutation, P.pipelineExecutor.uncacheFrame.useMutation, P.pipelineExecutor.getEffectiveTuning.useQuery, P.pipelineExecutor.listLoadedEngines.useQuery, P.pipelineExecutor.spinEngine.useMutation, P.pipelineExecutor.killEngine.useMutation, P.pipelineExecutor.listReferenceImages.useQuery, P.pipelineExecutor.getReferenceImage.useQuery, P.pipelineExecutor.getReferenceAudioFiles.useQuery, P.pipelineExecutor.getReferenceAudio.useQuery, P.pipelineExecutor.getAudioCapabilities.useQuery, P.pipelineExecutor.runAudioTest.useMutation, P.pipelineExecutor.getDetectionConfigSchema.useQuery, P.pipelineOrchestrator.pauseForStorageMigration.useMutation, P.pipelineOrchestrator.resumeForStorageMigration.useMutation, P.pipelineOrchestrator.assignPipeline.useMutation, P.pipelineOrchestrator.unassignPipeline.useMutation, P.pipelineOrchestrator.setPipelineDevicePin.useMutation, P.pipelineOrchestrator.getPipelineDevicePin.useQuery, P.pipelineOrchestrator.rebalance.useMutation, P.pipelineOrchestrator.getPipelineAssignments.useQuery, P.pipelineOrchestrator.getPipelineAssignment.useQuery, P.pipelineOrchestrator.getAgentLoad.useQuery, P.pipelineOrchestrator.getGlobalMetrics.useQuery, P.pipelineOrchestrator.getCameraMetrics.useQuery, P.pipelineOrchestrator.getCapabilityBindings.useQuery, P.pipelineOrchestrator.setCapabilityBinding.useMutation, P.pipelineOrchestrator.getIngestOwner.useQuery, P.pipelineOrchestrator.assignAudio.useMutation, P.pipelineOrchestrator.unassignAudio.useMutation, P.pipelineOrchestrator.getAudioAssignment.useQuery, P.pipelineOrchestrator.getAudioNodeLoad.useQuery, P.pipelineOrchestrator.getAudioAssignments.useQuery, P.pipelineOrchestrator.getAgentSettings.useQuery, P.pipelineOrchestrator.listAgentSettings.useQuery, P.pipelineOrchestrator.removeAgentSettings.useMutation, P.pipelineOrchestrator.setAgentMaxCameras.useMutation, P.pipelineOrchestrator.setAgentDetectWeight.useMutation, P.pipelineOrchestrator.setAgentCapabilities.useMutation, P.pipelineOrchestrator.setAgentDecodeLimits.useMutation, P.pipelineOrchestrator.setAgentReachableHost.useMutation, P.pipelineOrchestrator.setAgentInferenceDevices.useMutation, P.pipelineOrchestrator.getNodeInferenceDevices.useQuery, P.pipelineOrchestrator.resetNodePipelineDefaults.useMutation, P.pipelineOrchestrator.getCameraSettings.useQuery, P.pipelineOrchestrator.setCameraStepToggle.useMutation, P.pipelineOrchestrator.getCameraStepOverrides.useQuery, P.pipelineOrchestrator.setCameraStepOverride.useMutation, P.pipelineOrchestrator.setCameraPipelineForAgent.useMutation, P.pipelineOrchestrator.resolvePipeline.useQuery, P.pipelineOrchestrator.getCameraSwitches.useQuery, P.pipelineOrchestrator.setCameraSwitch.useMutation, P.pipelineOrchestrator.getCameraStatus.useQuery, P.pipelineOrchestrator.getCameraStatuses.useQuery, P.pipelineOrchestrator.reconcileFromDisk.useMutation, P.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery, P.pipelineOrchestrator.listTemplates.useQuery, P.pipelineOrchestrator.saveTemplate.useMutation, P.pipelineOrchestrator.updateTemplate.useMutation, P.pipelineOrchestrator.deleteTemplate.useMutation, P.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, P.pipelineOrchestrator.getDeviceLiveContribution.useQuery, P.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, P.pipelineRunner.attachCamera.useMutation, P.pipelineRunner.detachCamera.useMutation, P.pipelineRunner.reportMotion.useMutation, P.pipelineRunner.getLocalLoad.useQuery, P.pipelineRunner.getLocalMetrics.useQuery, P.pipelineRunner.getCameraMetrics.useQuery, P.pipelineRunner.getAllCameraMetrics.useQuery, P.pipelineRunner.getLocalCameras.useQuery, P.pipelineRunner.getNativeCrop.useQuery, P.pipelineRunner.runDetailSubtree.useMutation, P.pipelineRunner.runStatelessStep.useMutation, P.pipelineRunner.parkTrackFrame.useMutation, P.pipelineRunner.getParkedTrackFrame.useQuery, P.pipelineRunner.releaseParkedTrackFrames.useMutation, P.plateGallery.listPlates.useQuery, P.plateGallery.getPlateByTrack.useQuery, P.plateGallery.getPlateMedia.useQuery, P.plateGallery.searchPlates.useQuery, P.plateGallery.suggestPlateClusters.useQuery, P.plateGallery.correctPlateText.useMutation, P.plateGallery.deletePlate.useMutation, P.plateGallery.listVehicles.useQuery, P.plateGallery.createVehicle.useMutation, P.plateGallery.renameVehicle.useMutation, P.plateGallery.deleteVehicle.useMutation, P.plateGallery.listVehicleSamples.useQuery, P.plateGallery.removeVehicleSample.useMutation, P.plateGallery.assignPlate.useMutation, P.plateGallery.unassignPlate.useMutation, P.plateGallery.assignPlates.useMutation, P.plateGallery.unassignPlates.useMutation, P.powerMeter.getStatus.useQuery, P.presence.getStatus.useQuery, P.pressureSensor.getStatus.useQuery, P.privacyMask.getOptions.useQuery, P.privacyMask.setMask.useMutation, P.privacyMask.setAudioEnabled.useMutation, P.privacyMask.getStatus.useQuery, P.ptz.move.useMutation, P.ptz.continuousMove.useMutation, P.ptz.stop.useMutation, P.ptz.getPresets.useQuery, P.ptz.goToPreset.useMutation, P.ptz.savePreset.useMutation, P.ptz.deletePreset.useMutation, P.ptz.getOptions.useQuery, P.ptz.goHome.useMutation, P.ptz.getPosition.useQuery, P.ptz.setAutofocus.useMutation, P.ptz.getStatus.useQuery, P.ptzAutotrack.getStatus.useQuery, P.ptzAutotrack.setEnabled.useMutation, P.ptzAutotrack.getSettings.useQuery, P.ptzAutotrack.setSettings.useMutation, P.reboot.reboot.useMutation, P.recording.getAvailability.useQuery, P.recording.getAvailabilityBatch.useQuery, P.recording.getDaysWithRecordings.useQuery, P.recording.getDaysWithRecordingsBatch.useQuery, P.recording.getPlaybackManifest.useQuery, P.recording.getStorageUsage.useQuery, P.recording.getDeviceConfig.useQuery, P.recording.locateSegment.useQuery, P.recording.readSegmentBytes.useQuery, P.recording.readGopBytes.useQuery, P.recording.readWindowBytes.useQuery, P.recording.setDeviceConfig.useMutation, P.recording.rescanStorage.useMutation, P.recording.pruneFootage.useMutation, P.recording.deleteFootprint.useMutation, P.recording.listOpsLog.useQuery, P.recording.renderGif.useMutation, P.recording.renderClip.useMutation, P.recording.pauseForStorageMigration.useMutation, P.recording.resumeForStorageMigration.useMutation, P.recording.refreshStorageLocationsForMigration.useMutation, P.recording.startStorageMigrationMove.useMutation, P.recording.getStorageMigrationMoveStatus.useQuery, P.recording.cancelStorageMigrationMove.useMutation, P.recording.relocateFootage.useMutation, P.recording.listRelocateJobs.useQuery, P.recording.getRelocateResidue.useQuery, P.recording.reconcileLedgerAgainstDisk.useMutation, P.recording.cancelRelocateJob.useMutation, P.recording.planStorageRebalance.useQuery, P.recording.startStorageRebalance.useMutation, P.recording.getPlacement.useQuery, P.recording.setDevicePlacement.useMutation, P.recording.getStatus.useQuery, P.recording.getDeviceSettingsContribution.useQuery, P.recording.getDeviceLiveContribution.useQuery, P.recording.applyDeviceSettingsPatch.useMutation, P.recordingExport.createExport.useMutation, P.recordingExport.listExports.useQuery, P.recordingExport.getExport.useQuery, P.recordingExport.cancelExport.useMutation, P.recordingExport.deleteExport.useMutation, P.recordingExport.getDownloadUrl.useQuery, P.recordingExport.readExportBytes.useQuery, P.recordingSignal.getStatus.useQuery, P.sceneMonitor.listScenes.useQuery, P.sceneMonitor.listScenesBatch.useQuery, P.sceneMonitor.createScene.useMutation, P.sceneMonitor.updateScene.useMutation, P.sceneMonitor.deleteScene.useMutation, P.sceneMonitor.captureReference.useMutation, P.sceneMonitor.deleteReference.useMutation, P.sceneMonitor.recheckNow.useMutation, P.sceneMonitor.resetScene.useMutation, P.sceneMonitor.getStatus.useQuery, P.scriptRunner.run.useMutation, P.scriptRunner.stop.useMutation, P.scriptRunner.getStatus.useQuery, P.serverManagement.getServerPackageStatus.useQuery, P.serverManagement.checkServerUpdate.useMutation, P.serverManagement.applyServerUpdate.useMutation, P.serverManagement.rollbackServerUpdate.useMutation, P.serverManagement.restartServer.useMutation, P.settingsStore.get.useQuery, P.settingsStore.set.useMutation, P.settingsStore.query.useQuery, P.settingsStore.upsert.useMutation, P.settingsStore.insert.useMutation, P.settingsStore.insertMany.useMutation, P.settingsStore.update.useMutation, P.settingsStore.delete.useMutation, P.settingsStore.deleteWhere.useMutation, P.settingsStore.updateWhere.useMutation, P.settingsStore.count.useQuery, P.settingsStore.aggregate.useQuery, P.settingsStore.histogram.useQuery, P.settingsStore.isEmpty.useQuery, P.settingsStore.declareCollection.useMutation, P.smoke.getStatus.useQuery, P.snapshot.getSnapshot.useQuery, P.snapshot.invalidateCache.useMutation, P.snapshot.getSnapshotOverview.useQuery, P.snapshot.getDebugState.useQuery, P.snapshot.getSnapshotLinks.useQuery, P.snapshot.getStatus.useQuery, P.snapshot.getDeviceSettingsContribution.useQuery, P.snapshot.getDeviceLiveContribution.useQuery, P.snapshot.applyDeviceSettingsPatch.useMutation, P.storage.resolve.useQuery, P.storage.write.useMutation, P.storage.read.useQuery, P.storage.exists.useQuery, P.storage.list.useQuery, P.storage.delete.useMutation, P.storage.getAvailableSpace.useQuery, P.storage.beginUpload.useMutation, P.storage.writeChunk.useMutation, P.storage.finalizeUpload.useMutation, P.storage.abortUpload.useMutation, P.storage.beginDownload.useMutation, P.storage.readChunk.useQuery, P.storage.endDownload.useMutation, P.storage.listLocations.useQuery, P.storage.listLocationDeclarations.useQuery, P.storage.upsertLocation.useMutation, P.storage.deleteLocation.useMutation, P.storage.listDrainProgress.useQuery, P.storage.testLocation.useQuery, P.storage.listProviders.useQuery, P.storage.testConfig.useQuery, P.storageMigration.plan.useQuery, P.storageMigration.start.useMutation, P.storageMigration.status.useQuery, P.storageMigration.cancel.useMutation, P.storageMigration.movers.useQuery, P.storageMigration.residue.useQuery, P.storageMigration.drain.useMutation, P.storageMigration.cleanupStart.useMutation, P.storageMigration.cleanupStatus.useQuery, P.storageMigration.cleanupCancel.useMutation, P.storageMigration.history.useQuery, P.streamBroker.publishCameraStream.useMutation, P.streamBroker.retractCameraStream.useMutation, P.streamBroker.assignProfile.useMutation, P.streamBroker.unassignProfile.useMutation, P.streamBroker.forgetDeviceHardware.useMutation, P.streamBroker.renderPreBufferClip.useMutation, P.streamBroker.produceEventMedia.useMutation, P.streamBroker.fetchEventMedia.useMutation, P.streamBroker.listAllCameraStreams.useQuery, P.streamBroker.listAllProfileSlots.useQuery, P.streamBroker.getBrokerStats.useQuery, P.streamBroker.probeStream.useMutation, P.streamBroker.listClients.useQuery, P.streamBroker.killClient.useMutation, P.streamBroker.restartProfile.useMutation, P.streamBroker.getStreamUrl.useQuery, P.streamBroker.getStreamWithCodec.useMutation, P.streamBroker.releaseStreamWithCodec.useMutation, P.streamBroker.acquireEgressTranscode.useMutation, P.streamBroker.releaseEgressTranscode.useMutation, P.streamBroker.subscribeAudioChunks.useMutation, P.streamBroker.pullAudioChunks.useQuery, P.streamBroker.unsubscribeAudioChunks.useMutation, P.streamBroker.subscribeFrames.useMutation, P.streamBroker.pullFrameHandles.useQuery, P.streamBroker.unsubscribeFrames.useMutation, P.streamBroker.setPreBufferDuration.useMutation, P.streamBroker.getPreBufferInfo.useQuery, P.streamBroker.getRtspPort.useQuery, P.streamBroker.getAllRtspEntries.useQuery, P.streamBroker.getRtspEntry.useQuery, P.streamBroker.regenerateRtspToken.useMutation, P.streamBroker.setRtspEnabled.useMutation, P.streamBroker.isRtspEnabled.useQuery, P.streamBroker.getDeviceAudioMute.useQuery, P.streamBroker.setDeviceAudioMute.useMutation, P.streamBroker.getDeviceSettingsContribution.useQuery, P.streamBroker.getDeviceLiveContribution.useQuery, P.streamBroker.applyDeviceSettingsPatch.useMutation, P.streamCatalog.getCatalog.useQuery, P.streamParams.getOptions.useQuery, P.streamParams.setProfile.useMutation, P.streamParams.getConfigSchema.useQuery, P.streamParams.getStatus.useQuery, P.switch.setState.useMutation, P.switch.getStatus.useQuery, P.system.info.useQuery, P.system.health.useQuery, P.system.featureFlags.useQuery, P.system.networkAddresses.useQuery, P.system.getRetentionConfig.useQuery, P.system.setRetentionConfig.useMutation, P.system.forceRetentionCleanup.useMutation, P.system.getSiteLocation.useQuery, P.system.setSiteLocation.useMutation, P.system.detectSiteLocation.useMutation, P.system.getRequestCensus.useQuery, P.system.getLoadContributions.useQuery, P.system.getFailureContributions.useQuery, P.system.getLoggingSettings.useQuery, P.system.setLoggingSettings.useMutation, P.tamper.getStatus.useQuery, P.temperatureSensor.getStatus.useQuery, P.terminalSession.listProfiles.useQuery, P.terminalSession.listInstances.useQuery, P.terminalSession.createInstance.useMutation, P.terminalSession.updateInstance.useMutation, P.terminalSession.deleteInstance.useMutation, P.terminalSession.setInstanceEnabled.useMutation, P.terminalSession.listLegacyCameras.useQuery, P.terminalSession.adoptLegacyMonitor.useMutation, P.terminalSession.listSessions.useQuery, P.terminalSession.openSession.useMutation, P.terminalSession.resize.useMutation, P.terminalSession.pullOutput.useMutation, P.terminalSession.writeInput.useMutation, P.terminalSession.close.useMutation, P.toast.onToast.useSubscription, P.turnProvider.getTurnServers.useQuery, P.update.installUpdate.useMutation, P.update.getStatus.useQuery, P.userManagement.listUsers.useQuery, P.userManagement.createUser.useMutation, P.userManagement.updateUser.useMutation, P.userManagement.deleteUser.useMutation, P.userManagement.resetPassword.useMutation, P.userManagement.setUserScopes.useMutation, P.userManagement.validateCredentials.useMutation, P.userManagement.listApiKeys.useQuery, P.userManagement.createApiKey.useMutation, P.userManagement.revokeApiKey.useMutation, P.userManagement.validateApiKey.useMutation, P.userManagement.createScopedToken.useMutation, P.userManagement.revokeScopedToken.useMutation, P.userManagement.validateScopedToken.useQuery, P.userManagement.listScopedTokens.useQuery, P.userManagement.setupTotp.useMutation, P.userManagement.confirmTotp.useMutation, P.userManagement.disableTotp.useMutation, P.userManagement.getTotpStatus.useQuery, P.userManagement.verifyTotp.useMutation, P.userManagement.oauthIssueCode.useMutation, P.userManagement.oauthExchangeCode.useMutation, P.userManagement.oauthRefresh.useMutation, P.userManagement.oauthVerifyAccessToken.useQuery, P.userManagement.listOauthSessions.useQuery, P.userManagement.revokeOauthSession.useMutation, P.vacuumControl.start.useMutation, P.vacuumControl.pause.useMutation, P.vacuumControl.stop.useMutation, P.vacuumControl.returnToBase.useMutation, P.vacuumControl.locate.useMutation, P.vacuumControl.setFanSpeed.useMutation, P.vacuumControl.getStatus.useQuery, P.valve.open.useMutation, P.valve.close.useMutation, P.valve.stop.useMutation, P.valve.setPosition.useMutation, P.valve.getStatus.useQuery, P.vibration.getStatus.useQuery, P.videoclips.listClips.useQuery, P.videoclips.getClipPlayback.useQuery, P.waterHeater.setTargetTemp.useMutation, P.waterHeater.setOperationMode.useMutation, P.waterHeater.setAway.useMutation, P.waterHeater.getStatus.useQuery, P.weather.getStatus.useQuery, P.webrtcSession.listStreams.useQuery, P.webrtcSession.createSession.useMutation, P.webrtcSession.handleOffer.useMutation, P.webrtcSession.handleAnswer.useMutation, P.webrtcSession.addIceCandidate.useMutation, P.webrtcSession.getIceCandidates.useQuery, P.webrtcSession.closeSession.useMutation, P.webrtcSession.hasAdaptiveBitrate.useQuery, P.webrtcSession.getSessionState.useQuery, P.zoneAnalytics.getCurrentSnapshot.useQuery, P.zoneAnalytics.getCurrentSnapshotBatch.useQuery, P.zoneAnalytics.getZoneHistory.useQuery, P.zoneAnalytics.getCameraHistory.useQuery, P.zoneAnalytics.getUnzonedHistory.useQuery, P.zoneRules.listRules.useQuery, P.zoneRules.setRules.useMutation, P.zones.listZones.useQuery, P.zones.addZone.useMutation, P.zones.removeZone.useMutation, P.zones.updateZone.useMutation;
1661
+ P.petFeeder.feed.useMutation, P.petFeeder.cancelFeed.useMutation, P.petFeeder.resetDesiccant.useMutation, P.petFeeder.markFoodReplenished.useMutation, P.petFeeder.callPet.useMutation, P.petFeeder.playSound.useMutation, P.petFeeder.setChildLock.useMutation, P.petFeeder.setIndicatorLight.useMutation, P.petFeeder.setFeedSound.useMutation, P.petFeeder.setVolume.useMutation, P.petFeeder.getStatus.useQuery, P.pipelineAnalytics.getActiveTracks.useQuery, P.pipelineAnalytics.getTrack.useQuery, P.pipelineAnalytics.listTracks.useQuery, P.pipelineAnalytics.listRecentTracks.useQuery, P.pipelineAnalytics.listSummaries.useQuery, P.pipelineAnalytics.listRecentSummaries.useQuery, P.pipelineAnalytics.getSummary.useQuery, P.pipelineAnalytics.clearTracks.useMutation, P.pipelineAnalytics.getMotionEvents.useQuery, P.pipelineAnalytics.getObjectEvents.useQuery, P.pipelineAnalytics.getAudioEvents.useQuery, P.pipelineAnalytics.listEventKinds.useQuery, P.pipelineAnalytics.listEventKindsBatch.useQuery, P.pipelineAnalytics.getSensorEvents.useQuery, P.pipelineAnalytics.getKeyEvents.useQuery, P.pipelineAnalytics.getKeyEventsBatch.useQuery, P.pipelineAnalytics.getEventDensity.useQuery, P.pipelineAnalytics.getEventDensityBatch.useQuery, P.pipelineAnalytics.pruneEventsBefore.useMutation, P.pipelineAnalytics.pruneTracksBefore.useMutation, P.pipelineAnalytics.wipeAllAnalytics.useMutation, P.pipelineAnalytics.reconcileFromDisk.useMutation, P.pipelineAnalytics.deleteTracks.useMutation, P.pipelineAnalytics.setTrackFlags.useMutation, P.pipelineAnalytics.listArchivedDebugNotes.useQuery, P.pipelineAnalytics.listBirthDecisions.useQuery, P.pipelineAnalytics.getEventStoreFootprint.useQuery, P.pipelineAnalytics.getEventMediaFootprintByKind.useQuery, P.pipelineAnalytics.pruneEvents.useMutation, P.pipelineAnalytics.deleteDeviceEvents.useMutation, P.pipelineAnalytics.pauseForStorageMigration.useMutation, P.pipelineAnalytics.resumeForStorageMigration.useMutation, P.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, P.pipelineAnalytics.startStorageMigrationMove.useMutation, P.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, P.pipelineAnalytics.cancelStorageMigrationMove.useMutation, P.pipelineAnalytics.relocateMedia.useMutation, P.pipelineAnalytics.countUnstampedEventMedia.useQuery, P.pipelineAnalytics.countRelocatableMedia.useQuery, P.pipelineAnalytics.listRelocateMediaJobs.useQuery, P.pipelineAnalytics.cancelRelocateMedia.useMutation, P.pipelineAnalytics.listOpsLog.useQuery, P.pipelineAnalytics.reclaimDebugMedia.useMutation, P.pipelineAnalytics.getMediaReclaimStatus.useQuery, P.pipelineAnalytics.getTrainingExportSummary.useQuery, P.pipelineAnalytics.getTrainingExportUrl.useQuery, P.pipelineAnalytics.listRetrainStaging.useQuery, P.pipelineAnalytics.listRetrainFrames.useQuery, P.pipelineAnalytics.selectRetrainFrames.useMutation, P.pipelineAnalytics.deselectRetrainFrame.useMutation, P.pipelineAnalytics.getRetrainFrameImage.useQuery, P.pipelineAnalytics.proposeRetrainAnnotations.useMutation, P.pipelineAnalytics.runReplayFrameProcessor.useMutation, P.pipelineAnalytics.listRetrainAnnotations.useQuery, P.pipelineAnalytics.saveRetrainAnnotations.useMutation, P.pipelineAnalytics.completeRetrainTrack.useMutation, P.pipelineAnalytics.restageRetrainTrack.useMutation, P.pipelineAnalytics.getRetrainExportUrl.useQuery, P.pipelineAnalytics.getEventMedia.useQuery, P.pipelineAnalytics.getTrackMedia.useQuery, P.pipelineAnalytics.listTrackMedia.useQuery, P.pipelineAnalytics.listEventMedia.useQuery, P.pipelineAnalytics.searchObjectEvents.useQuery, P.pipelineAnalytics.wipeObjectEmbeddings.useMutation, P.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, P.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, P.pipelineAnalytics.getDeviceSettingsContribution.useQuery, P.pipelineAnalytics.getDeviceLiveContribution.useQuery, P.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, P.pipelineExecutor.getAvailableEngines.useQuery, P.pipelineExecutor.getSelectedEngine.useQuery, P.pipelineExecutor.getDefaultSteps.useQuery, P.pipelineExecutor.getEngineProvisioning.useQuery, P.pipelineExecutor.getVideoPipelineSteps.useQuery, P.pipelineExecutor.setVideoPipelineSteps.useMutation, P.pipelineExecutor.clearDeviceOverrides.useMutation, P.pipelineExecutor.getInferenceDeviceHealth.useQuery, P.pipelineExecutor.rearmInferenceDevice.useMutation, P.pipelineExecutor.getSchema.useQuery, P.pipelineExecutor.getGlobalSteps.useQuery, P.pipelineExecutor.getGlobalPipelineConfig.useQuery, P.pipelineExecutor.getOrchestratorConfigSchema.useQuery, P.pipelineExecutor.validatePipeline.useQuery, P.pipelineExecutor.listTemplates.useQuery, P.pipelineExecutor.saveTemplate.useMutation, P.pipelineExecutor.updateTemplate.useMutation, P.pipelineExecutor.deleteTemplate.useMutation, P.pipelineExecutor.getCapabilities.useQuery, P.pipelineExecutor.getAddonModels.useQuery, P.pipelineExecutor.downloadModel.useMutation, P.pipelineExecutor.deleteModel.useMutation, P.pipelineExecutor.runPipeline.useMutation, P.pipelineExecutor.runPipelineBatch.useMutation, P.pipelineExecutor.cacheFrameInPool.useMutation, P.pipelineExecutor.inferCached.useMutation, P.pipelineExecutor.uncacheFrame.useMutation, P.pipelineExecutor.getEffectiveTuning.useQuery, P.pipelineExecutor.listLoadedEngines.useQuery, P.pipelineExecutor.spinEngine.useMutation, P.pipelineExecutor.killEngine.useMutation, P.pipelineExecutor.listReferenceImages.useQuery, P.pipelineExecutor.getReferenceImage.useQuery, P.pipelineExecutor.getReferenceAudioFiles.useQuery, P.pipelineExecutor.getReferenceAudio.useQuery, P.pipelineExecutor.getAudioCapabilities.useQuery, P.pipelineExecutor.runAudioTest.useMutation, P.pipelineExecutor.getDetectionConfigSchema.useQuery, P.pipelineOrchestrator.pauseForStorageMigration.useMutation, P.pipelineOrchestrator.resumeForStorageMigration.useMutation, P.pipelineOrchestrator.assignPipeline.useMutation, P.pipelineOrchestrator.unassignPipeline.useMutation, P.pipelineOrchestrator.setPipelineDevicePin.useMutation, P.pipelineOrchestrator.getPipelineDevicePin.useQuery, P.pipelineOrchestrator.rebalance.useMutation, P.pipelineOrchestrator.getPipelineAssignments.useQuery, P.pipelineOrchestrator.getPipelineAssignment.useQuery, P.pipelineOrchestrator.getAgentLoad.useQuery, P.pipelineOrchestrator.getGlobalMetrics.useQuery, P.pipelineOrchestrator.getCameraMetrics.useQuery, P.pipelineOrchestrator.getCapabilityBindings.useQuery, P.pipelineOrchestrator.setCapabilityBinding.useMutation, P.pipelineOrchestrator.getIngestOwner.useQuery, P.pipelineOrchestrator.assignAudio.useMutation, P.pipelineOrchestrator.unassignAudio.useMutation, P.pipelineOrchestrator.getAudioAssignment.useQuery, P.pipelineOrchestrator.getAudioNodeLoad.useQuery, P.pipelineOrchestrator.getAudioAssignments.useQuery, P.pipelineOrchestrator.getAgentSettings.useQuery, P.pipelineOrchestrator.listAgentSettings.useQuery, P.pipelineOrchestrator.removeAgentSettings.useMutation, P.pipelineOrchestrator.setAgentMaxCameras.useMutation, P.pipelineOrchestrator.setAgentDetectWeight.useMutation, P.pipelineOrchestrator.setAgentCapabilities.useMutation, P.pipelineOrchestrator.setAgentDecodeLimits.useMutation, P.pipelineOrchestrator.setAgentReachableHost.useMutation, P.pipelineOrchestrator.setAgentInferenceDevices.useMutation, P.pipelineOrchestrator.getNodeInferenceDevices.useQuery, P.pipelineOrchestrator.resetNodePipelineDefaults.useMutation, P.pipelineOrchestrator.getCameraSettings.useQuery, P.pipelineOrchestrator.setCameraStepToggle.useMutation, P.pipelineOrchestrator.getCameraStepOverrides.useQuery, P.pipelineOrchestrator.setCameraStepOverride.useMutation, P.pipelineOrchestrator.setCameraPipelineForAgent.useMutation, P.pipelineOrchestrator.resolvePipeline.useQuery, P.pipelineOrchestrator.getCameraSwitches.useQuery, P.pipelineOrchestrator.setCameraSwitch.useMutation, P.pipelineOrchestrator.getCameraStatus.useQuery, P.pipelineOrchestrator.getCameraStatuses.useQuery, P.pipelineOrchestrator.reconcileFromDisk.useMutation, P.pipelineOrchestrator.getReconcileFromDiskStatus.useQuery, P.pipelineOrchestrator.listTemplates.useQuery, P.pipelineOrchestrator.saveTemplate.useMutation, P.pipelineOrchestrator.updateTemplate.useMutation, P.pipelineOrchestrator.deleteTemplate.useMutation, P.pipelineOrchestrator.getDeviceSettingsContribution.useQuery, P.pipelineOrchestrator.getDeviceLiveContribution.useQuery, P.pipelineOrchestrator.applyDeviceSettingsPatch.useMutation, P.pipelineRunner.attachCamera.useMutation, P.pipelineRunner.detachCamera.useMutation, P.pipelineRunner.reportMotion.useMutation, P.pipelineRunner.getLocalLoad.useQuery, P.pipelineRunner.getLocalMetrics.useQuery, P.pipelineRunner.getCameraMetrics.useQuery, P.pipelineRunner.getAllCameraMetrics.useQuery, P.pipelineRunner.getLocalCameras.useQuery, P.pipelineRunner.getNativeCrop.useQuery, P.pipelineRunner.runDetailSubtree.useMutation, P.pipelineRunner.runStatelessStep.useMutation, P.pipelineRunner.parkTrackFrame.useMutation, P.pipelineRunner.getParkedTrackFrame.useQuery, P.pipelineRunner.releaseParkedTrackFrames.useMutation, P.plateGallery.listPlates.useQuery, P.plateGallery.getPlateByTrack.useQuery, P.plateGallery.getPlateMedia.useQuery, P.plateGallery.searchPlates.useQuery, P.plateGallery.suggestPlateClusters.useQuery, P.plateGallery.correctPlateText.useMutation, P.plateGallery.deletePlate.useMutation, P.plateGallery.listVehicles.useQuery, P.plateGallery.createVehicle.useMutation, P.plateGallery.renameVehicle.useMutation, P.plateGallery.deleteVehicle.useMutation, P.plateGallery.listVehicleSamples.useQuery, P.plateGallery.removeVehicleSample.useMutation, P.plateGallery.assignPlate.useMutation, P.plateGallery.unassignPlate.useMutation, P.plateGallery.assignPlates.useMutation, P.plateGallery.unassignPlates.useMutation, P.powerMeter.getStatus.useQuery, P.presence.getStatus.useQuery, P.pressureSensor.getStatus.useQuery, P.privacyMask.getOptions.useQuery, P.privacyMask.setMask.useMutation, P.privacyMask.setAudioEnabled.useMutation, P.privacyMask.getStatus.useQuery, P.ptz.move.useMutation, P.ptz.continuousMove.useMutation, P.ptz.stop.useMutation, P.ptz.getPresets.useQuery, P.ptz.goToPreset.useMutation, P.ptz.savePreset.useMutation, P.ptz.deletePreset.useMutation, P.ptz.getOptions.useQuery, P.ptz.goHome.useMutation, P.ptz.getPosition.useQuery, P.ptz.setAutofocus.useMutation, P.ptz.getStatus.useQuery, P.ptzAutotrack.getStatus.useQuery, P.ptzAutotrack.setEnabled.useMutation, P.ptzAutotrack.getSettings.useQuery, P.ptzAutotrack.setSettings.useMutation, P.reboot.reboot.useMutation, P.recording.getAvailability.useQuery, P.recording.getAvailabilityBatch.useQuery, P.recording.getDaysWithRecordings.useQuery, P.recording.getDaysWithRecordingsBatch.useQuery, P.recording.getPlaybackManifest.useQuery, P.recording.getStorageUsage.useQuery, P.recording.getDeviceConfig.useQuery, P.recording.locateSegment.useQuery, P.recording.readSegmentBytes.useQuery, P.recording.readGopBytes.useQuery, P.recording.readWindowBytes.useQuery, P.recording.setDeviceConfig.useMutation, P.recording.rescanStorage.useMutation, P.recording.pruneFootage.useMutation, P.recording.deleteFootprint.useMutation, P.recording.listOpsLog.useQuery, P.recording.renderGif.useMutation, P.recording.renderClip.useMutation, P.recording.pauseForStorageMigration.useMutation, P.recording.resumeForStorageMigration.useMutation, P.recording.refreshStorageLocationsForMigration.useMutation, P.recording.startStorageMigrationMove.useMutation, P.recording.getStorageMigrationMoveStatus.useQuery, P.recording.cancelStorageMigrationMove.useMutation, P.recording.relocateFootage.useMutation, P.recording.listRelocateJobs.useQuery, P.recording.getRelocateResidue.useQuery, P.recording.reconcileLedgerAgainstDisk.useMutation, P.recording.cancelRelocateJob.useMutation, P.recording.planStorageRebalance.useQuery, P.recording.startStorageRebalance.useMutation, P.recording.getPlacement.useQuery, P.recording.setDevicePlacement.useMutation, P.recording.getStatus.useQuery, P.recording.getDeviceSettingsContribution.useQuery, P.recording.getDeviceLiveContribution.useQuery, P.recording.applyDeviceSettingsPatch.useMutation, P.recordingExport.createExport.useMutation, P.recordingExport.listExports.useQuery, P.recordingExport.getExport.useQuery, P.recordingExport.cancelExport.useMutation, P.recordingExport.deleteExport.useMutation, P.recordingExport.getDownloadUrl.useQuery, P.recordingExport.readExportBytes.useQuery, P.recordingSignal.getStatus.useQuery, P.sceneMonitor.listScenes.useQuery, P.sceneMonitor.listScenesBatch.useQuery, P.sceneMonitor.createScene.useMutation, P.sceneMonitor.updateScene.useMutation, P.sceneMonitor.deleteScene.useMutation, P.sceneMonitor.captureReference.useMutation, P.sceneMonitor.deleteReference.useMutation, P.sceneMonitor.recheckNow.useMutation, P.sceneMonitor.resetScene.useMutation, P.sceneMonitor.getStatus.useQuery, P.scriptRunner.run.useMutation, P.scriptRunner.stop.useMutation, P.scriptRunner.getStatus.useQuery, P.serverManagement.getServerPackageStatus.useQuery, P.serverManagement.checkServerUpdate.useMutation, P.serverManagement.applyServerUpdate.useMutation, P.serverManagement.rollbackServerUpdate.useMutation, P.serverManagement.restartServer.useMutation, P.settingsStore.get.useQuery, P.settingsStore.set.useMutation, P.settingsStore.query.useQuery, P.settingsStore.upsert.useMutation, P.settingsStore.insert.useMutation, P.settingsStore.insertMany.useMutation, P.settingsStore.update.useMutation, P.settingsStore.delete.useMutation, P.settingsStore.deleteWhere.useMutation, P.settingsStore.updateWhere.useMutation, P.settingsStore.count.useQuery, P.settingsStore.aggregate.useQuery, P.settingsStore.histogram.useQuery, P.settingsStore.isEmpty.useQuery, P.settingsStore.declareCollection.useMutation, P.smoke.getStatus.useQuery, P.snapshot.getSnapshot.useQuery, P.snapshot.invalidateCache.useMutation, P.snapshot.getSnapshotOverview.useQuery, P.snapshot.getDebugState.useQuery, P.snapshot.getSnapshotLinks.useQuery, P.snapshot.getStatus.useQuery, P.snapshot.getDeviceSettingsContribution.useQuery, P.snapshot.getDeviceLiveContribution.useQuery, P.snapshot.applyDeviceSettingsPatch.useMutation, P.storage.resolve.useQuery, P.storage.write.useMutation, P.storage.read.useQuery, P.storage.exists.useQuery, P.storage.list.useQuery, P.storage.delete.useMutation, P.storage.getAvailableSpace.useQuery, P.storage.beginUpload.useMutation, P.storage.writeChunk.useMutation, P.storage.finalizeUpload.useMutation, P.storage.abortUpload.useMutation, P.storage.beginDownload.useMutation, P.storage.readChunk.useQuery, P.storage.endDownload.useMutation, P.storage.listLocations.useQuery, P.storage.listLocationDeclarations.useQuery, P.storage.upsertLocation.useMutation, P.storage.deleteLocation.useMutation, P.storage.listDrainProgress.useQuery, P.storage.testLocation.useQuery, P.storage.listProviders.useQuery, P.storage.testConfig.useQuery, P.storageMigration.plan.useQuery, P.storageMigration.start.useMutation, P.storageMigration.status.useQuery, P.storageMigration.cancel.useMutation, P.storageMigration.movers.useQuery, P.storageMigration.residue.useQuery, P.storageMigration.drain.useMutation, P.storageMigration.cleanupStart.useMutation, P.storageMigration.cleanupStatus.useQuery, P.storageMigration.cleanupCancel.useMutation, P.storageMigration.history.useQuery, P.streamBroker.publishCameraStream.useMutation, P.streamBroker.retractCameraStream.useMutation, P.streamBroker.assignProfile.useMutation, P.streamBroker.unassignProfile.useMutation, P.streamBroker.forgetDeviceHardware.useMutation, P.streamBroker.renderPreBufferClip.useMutation, P.streamBroker.produceEventMedia.useMutation, P.streamBroker.fetchEventMedia.useMutation, P.streamBroker.listAllCameraStreams.useQuery, P.streamBroker.listAllProfileSlots.useQuery, P.streamBroker.getBrokerStats.useQuery, P.streamBroker.probeStream.useMutation, P.streamBroker.listClients.useQuery, P.streamBroker.killClient.useMutation, P.streamBroker.restartProfile.useMutation, P.streamBroker.getStreamUrl.useQuery, P.streamBroker.getStreamWithCodec.useMutation, P.streamBroker.releaseStreamWithCodec.useMutation, P.streamBroker.acquireEgressTranscode.useMutation, P.streamBroker.releaseEgressTranscode.useMutation, P.streamBroker.subscribeAudioChunks.useMutation, P.streamBroker.pullAudioChunks.useQuery, P.streamBroker.unsubscribeAudioChunks.useMutation, P.streamBroker.subscribeFrames.useMutation, P.streamBroker.pullFrameHandles.useQuery, P.streamBroker.unsubscribeFrames.useMutation, P.streamBroker.setPreBufferDuration.useMutation, P.streamBroker.getPreBufferInfo.useQuery, P.streamBroker.getRtspPort.useQuery, P.streamBroker.getAllRtspEntries.useQuery, P.streamBroker.getRtspEntry.useQuery, P.streamBroker.regenerateRtspToken.useMutation, P.streamBroker.setRtspEnabled.useMutation, P.streamBroker.isRtspEnabled.useQuery, P.streamBroker.getDeviceAudioMute.useQuery, P.streamBroker.setDeviceAudioMute.useMutation, P.streamBroker.getDeviceSettingsContribution.useQuery, P.streamBroker.getDeviceLiveContribution.useQuery, P.streamBroker.applyDeviceSettingsPatch.useMutation, P.streamCatalog.getCatalog.useQuery, P.streamParams.getOptions.useQuery, P.streamParams.setProfile.useMutation, P.streamParams.getConfigSchema.useQuery, P.streamParams.getStatus.useQuery, P.switch.setState.useMutation, P.switch.getStatus.useQuery, P.system.info.useQuery, P.system.health.useQuery, P.system.featureFlags.useQuery, P.system.networkAddresses.useQuery, P.system.getRetentionConfig.useQuery, P.system.setRetentionConfig.useMutation, P.system.forceRetentionCleanup.useMutation, P.system.getSiteLocation.useQuery, P.system.setSiteLocation.useMutation, P.system.detectSiteLocation.useMutation, P.system.getRequestCensus.useQuery, P.system.getLoadContributions.useQuery, P.system.getFailureContributions.useQuery, P.system.getLoggingSettings.useQuery, P.system.setLoggingSettings.useMutation, P.tamper.getStatus.useQuery, P.temperatureSensor.getStatus.useQuery, P.terminalSession.listProfiles.useQuery, P.terminalSession.listInstances.useQuery, P.terminalSession.createInstance.useMutation, P.terminalSession.updateInstance.useMutation, P.terminalSession.deleteInstance.useMutation, P.terminalSession.setInstanceEnabled.useMutation, P.terminalSession.listLegacyCameras.useQuery, P.terminalSession.adoptLegacyMonitor.useMutation, P.terminalSession.listSessions.useQuery, P.terminalSession.openSession.useMutation, P.terminalSession.resize.useMutation, P.terminalSession.pullOutput.useMutation, P.terminalSession.writeInput.useMutation, P.terminalSession.close.useMutation, P.toast.onToast.useSubscription, P.turnProvider.getTurnServers.useQuery, P.update.installUpdate.useMutation, P.update.getStatus.useQuery, P.userManagement.listUsers.useQuery, P.userManagement.createUser.useMutation, P.userManagement.updateUser.useMutation, P.userManagement.deleteUser.useMutation, P.userManagement.resetPassword.useMutation, P.userManagement.setUserScopes.useMutation, P.userManagement.validateCredentials.useMutation, P.userManagement.listApiKeys.useQuery, P.userManagement.createApiKey.useMutation, P.userManagement.revokeApiKey.useMutation, P.userManagement.validateApiKey.useMutation, P.userManagement.createScopedToken.useMutation, P.userManagement.revokeScopedToken.useMutation, P.userManagement.validateScopedToken.useQuery, P.userManagement.listScopedTokens.useQuery, P.userManagement.setupTotp.useMutation, P.userManagement.confirmTotp.useMutation, P.userManagement.disableTotp.useMutation, P.userManagement.getTotpStatus.useQuery, P.userManagement.verifyTotp.useMutation, P.userManagement.oauthIssueCode.useMutation, P.userManagement.oauthExchangeCode.useMutation, P.userManagement.oauthRefresh.useMutation, P.userManagement.oauthVerifyAccessToken.useQuery, P.userManagement.listOauthSessions.useQuery, P.userManagement.revokeOauthSession.useMutation, P.vacuumControl.start.useMutation, P.vacuumControl.pause.useMutation, P.vacuumControl.stop.useMutation, P.vacuumControl.returnToBase.useMutation, P.vacuumControl.locate.useMutation, P.vacuumControl.setFanSpeed.useMutation, P.vacuumControl.getStatus.useQuery, P.valve.open.useMutation, P.valve.close.useMutation, P.valve.stop.useMutation, P.valve.setPosition.useMutation, P.valve.getStatus.useQuery, P.vibration.getStatus.useQuery, P.videoclips.listClips.useQuery, P.videoclips.getClipPlayback.useQuery, P.waterHeater.setTargetTemp.useMutation, P.waterHeater.setOperationMode.useMutation, P.waterHeater.setAway.useMutation, P.waterHeater.getStatus.useQuery, P.weather.getStatus.useQuery, P.webrtcSession.listStreams.useQuery, P.webrtcSession.createSession.useMutation, P.webrtcSession.handleOffer.useMutation, P.webrtcSession.handleAnswer.useMutation, P.webrtcSession.addIceCandidate.useMutation, P.webrtcSession.getIceCandidates.useQuery, P.webrtcSession.closeSession.useMutation, P.webrtcSession.hasAdaptiveBitrate.useQuery, P.webrtcSession.getSessionState.useQuery, P.zoneAnalytics.getCurrentSnapshot.useQuery, P.zoneAnalytics.getCurrentSnapshotBatch.useQuery, P.zoneAnalytics.getZoneHistory.useQuery, P.zoneAnalytics.getCameraHistory.useQuery, P.zoneAnalytics.getUnzonedHistory.useQuery, P.zoneRules.listRules.useQuery, P.zoneRules.setRules.useMutation, P.zones.listZones.useQuery, P.zones.addZone.useMutation, P.zones.removeZone.useMutation, P.zones.updateZone.useMutation;
1662
1662
  //#endregion
1663
1663
  //#region ../../node_modules/clsx/dist/clsx.mjs
1664
1664
  function hn(e) {
@@ -1,9 +1,9 @@
1
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dc06UWXO.mjs";
1
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Cx68KkGj.mjs";
2
2
  //#region \0virtual:mf-localSharedImportMap:__mfe_internal__addon_osd_manager_page
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.103",
6
+ version: "1.2.104",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_osd_manager_page",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.183",
21
+ version: "1.2.188",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_osd_manager_page",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.151",
36
+ version: "1.2.153",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_osd_manager_page",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.183",
39
+ version: "1.2.188",
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.2.103",
48
+ version: "1.2.104",
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.2.151",
84
+ version: "1.2.153",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -5349,7 +5349,7 @@ var ZodIssueCode = {
5349
5349
  var ZodFirstPartyTypeKind;
5350
5350
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5351
5351
  //#endregion
5352
- //#region ../types/dist/sleep-CnLyvg3w.mjs
5352
+ //#region ../types/dist/sleep-DBKu2-U5.mjs
5353
5353
  /**
5354
5354
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5355
5355
  * window to float samples (D455).
@@ -7474,7 +7474,23 @@ var EncodeProfileSchema = object({
7474
7474
  "zerolatency",
7475
7475
  "film",
7476
7476
  "animation"
7477
- ]).optional()
7477
+ ]).optional(),
7478
+ /**
7479
+ * ONE slice per access unit.
7480
+ *
7481
+ * `-tune zerolatency` turns on x264's sliced threads, and a frame then leaves
7482
+ * the encoder as five NAL slices that share one RTP timestamp and carry one
7483
+ * marker bit. A libwebrtc depacketiser sees five frame-starts and one
7484
+ * frame-end per frame: the first pictures render and the video then freezes
7485
+ * for good while the audio, on its own plane, plays on. Measured on this hub
7486
+ * 2026-09-13 against the Echo, and reduced to one slice by this flag alone.
7487
+ *
7488
+ * A NAMED field and not a raw flag, because {@link EgressEncodeSchema} omits
7489
+ * `outputArgs` on purpose: an opaque array is part of the sharing key, so two
7490
+ * consumers meaning the same thing spelled differently would stop sharing one
7491
+ * child. Absent means "whatever the encoder does" — today's behaviour.
7492
+ */
7493
+ singleSlicePerFrame: boolean().optional()
7478
7494
  }),
7479
7495
  audio: union([literal("passthrough"), object({
7480
7496
  codec: _enum([
@@ -7524,7 +7540,7 @@ var BASE_LIVE_EGRESS_PROFILE = {
7524
7540
  audio: "passthrough"
7525
7541
  };
7526
7542
  ({ ...BASE_LIVE_EGRESS_PROFILE }), { ...BASE_LIVE_EGRESS_PROFILE.video };
7527
- ({ ...BASE_LIVE_EGRESS_PROFILE });
7543
+ ({ ...BASE_LIVE_EGRESS_PROFILE }), { ...BASE_LIVE_EGRESS_PROFILE.video };
7528
7544
  /**
7529
7545
  * Deep wiring healthcheck — snapshot of active reachability probes across
7530
7546
  * every declared capability + widget of every installed plugin, on every
@@ -22901,13 +22917,109 @@ var SummariesQueryInput = object({
22901
22917
  deviceIds: array(number()).min(1),
22902
22918
  since: number().optional(),
22903
22919
  until: number().optional(),
22904
- limit: number().int().min(1).max(200).default(50)
22920
+ limit: number().int().min(1).max(200).default(50),
22921
+ /** The same member-wise filter {@link listRecentSummaries} takes — one
22922
+ * meaning of "dog" on every summary surface. */
22923
+ classes: array(string().min(1).max(60)).max(40).optional()
22905
22924
  });
22906
- var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
22907
22925
  var SummaryDetailSchema = object({
22908
22926
  summary: SummarySchema,
22909
- /** Member track ids, in absorption order. */
22910
- trackIds: array(string()).readonly()
22927
+ /** Members in absorption order, oldest join first. */
22928
+ members: array(object({
22929
+ trackId: string(),
22930
+ /**
22931
+ * The track's class at the time it JOINED, or `null` when it was unresolved
22932
+ * and the track no longer exists to fill it.
22933
+ *
22934
+ * The join, not the latest opinion: class voting can re-decide a track's
22935
+ * class afterwards, and a group's composition is the history of who came
22936
+ * together. A consumer counts these to badge a thumbnail — "two people and a
22937
+ * dog" — rather than being handed a second, denormalised tally that would
22938
+ * drift from the members it claims to describe.
22939
+ */
22940
+ className: string().nullable(),
22941
+ /** `primary` is the one member that carries the group's identity. */
22942
+ role: _enum([
22943
+ "primary",
22944
+ "sibling",
22945
+ "child"
22946
+ ]).nullable(),
22947
+ joinedAt: number(),
22948
+ /** Tier 1 — the sub-class (`dog`, `van`), resolved from the member's track
22949
+ * at read time. Absent when nothing resolved, never an empty string. */
22950
+ label: string().optional(),
22951
+ /** Tier 2 — the instance: a person's name, a plate. Absent when the pipeline
22952
+ * recognised nobody, and absent for a member whose track has been pruned —
22953
+ * a thumbnail that names the wrong person is worse than one naming nobody. */
22954
+ subLabel: string().optional()
22955
+ })).readonly()
22956
+ });
22957
+ /**
22958
+ * What a LIST of groups carries: the envelope plus what it is MADE OF.
22959
+ *
22960
+ * Coarse on purpose — the operator's rule is "only the rough data on the list,
22961
+ * we extend when we notice we need more". Enough to draw the card ("two people
22962
+ * and a dog") and no more. The MEMBERS, their names and the per-member links
22963
+ * are on {@link getSummary}: shipping every member of every group so a client
22964
+ * can count them turns a page of two hundred groups into a thousand records to
22965
+ * draw two hundred badges.
22966
+ */
22967
+ var SummaryListItemSchema = object({
22968
+ summary: SummarySchema,
22969
+ /** Class counts, most numerous first; `className: null` is a member whose
22970
+ * class never resolved, counted so the counts add up to `memberCount`. */
22971
+ classes: array(object({
22972
+ className: string().nullable(),
22973
+ count: number().int().positive()
22974
+ })).readonly()
22975
+ });
22976
+ var SummariesPageSchema = object({ summaries: array(SummaryListItemSchema).readonly() });
22977
+ /**
22978
+ * The paged feed, deliberately the SAME shape as {@link RecentTracksQueryInput}.
22979
+ *
22980
+ * The reel on the cameras page and the Events gallery both ride a cursor, so a
22981
+ * summaries feed that could only answer "the last N for these cameras"
22982
+ * (`listSummaries`) would make groups available in the timeline and nowhere
22983
+ * else. Two feeds with different ordering contracts would be two ideas of what
22984
+ * "newest" means, on one screen.
22985
+ */
22986
+ var RecentSummariesQueryInput = object({
22987
+ /** Devices to merge. An empty array yields an empty page. */
22988
+ deviceIds: array(number()),
22989
+ /** Window lower bound on `lastActiveAt` (inclusive). */
22990
+ since: number().optional(),
22991
+ /** Window upper bound on `lastActiveAt` (inclusive). */
22992
+ until: number().optional(),
22993
+ limit: number().int().min(1).max(500).default(100),
22994
+ /** Opaque continuation cursor from a previous page's `nextCursor`. */
22995
+ cursor: string().optional(),
22996
+ /**
22997
+ * Restrict to these classes — THE SAME FIELD `listRecentTracks` takes, and
22998
+ * deliberately the same name: the events filter tree emits one list of ticked
22999
+ * taxonomy nodes, and a summaries feed that called it something else would
23000
+ * make the operator's one filter component produce two shapes.
23001
+ *
23002
+ * A question about the MEMBERS: a group matches when ANY of them does. "Show
23003
+ * me the arrivals with a dog" has to return the group of four people who had
23004
+ * one with them; a filter on the group's own fields could only ever answer
23005
+ * about its primary.
23006
+ *
23007
+ * Matched against all THREE tiers of a member — the class (`animal`), the
23008
+ * sub-class (`dog`) and the instance (a name, a plate) — because which tier a
23009
+ * ticked node lives on is the taxonomy's business, not the caller's. `dog` is
23010
+ * an event kind in the tree and a tier-1 label on an `animal` track; a filter
23011
+ * that read only the class would answer "animal" and never "dog".
23012
+ *
23013
+ * ABSENT or EMPTY means no filter — absent is not a selection of none.
23014
+ */
23015
+ classes: array(string().min(1).max(60)).max(40).optional()
23016
+ });
23017
+ var RecentSummariesPageSchema = object({
23018
+ /** Ordered by (`lastActiveAt` DESC, id DESC). Same light item as
23019
+ * {@link listSummaries} — one list shape, so a card renders the same
23020
+ * whichever feed drew it. */
23021
+ summaries: array(SummaryListItemSchema).readonly(),
23022
+ nextCursor: string().nullable()
22911
23023
  });
22912
23024
  var RecentTracksPageSchema = object({
22913
23025
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
@@ -23349,6 +23461,11 @@ var pipelineAnalyticsCapability = {
23349
23461
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
23350
23462
  /** Newest first by `openedAt`, for a camera set, inside an optional window. */
23351
23463
  listSummaries: method(SummariesQueryInput, SummariesPageSchema),
23464
+ /**
23465
+ * The PAGED feed — the reel and the Events gallery. Same cursor contract as
23466
+ * {@link listRecentTracks}, so one screen cannot hold two ideas of newest.
23467
+ */
23468
+ listRecentSummaries: method(RecentSummariesQueryInput, RecentSummariesPageSchema),
23352
23469
  /** One summary with its member track ids; `null` for an id nobody wrote. */
23353
23470
  getSummary: method(object({ id: string() }), SummaryDetailSchema.nullable()),
23354
23471
  clearTracks: method(object({ deviceId: number() }), _void(), {
@@ -37790,7 +37907,29 @@ var LoggingSettingsPatchSchema = object({
37790
37907
  * disarmed the channels it did not mention would make the Levels page and
37791
37908
  * the Diagnostics page fight over the same value.
37792
37909
  */
37793
- channels: array(LogChannelWindowPatchSchema).readonly().optional()
37910
+ channels: array(LogChannelWindowPatchSchema).readonly().optional(),
37911
+ /**
37912
+ * How many days the analytics OPS LOG is kept — the audit trail of what
37913
+ * retention actually deleted.
37914
+ *
37915
+ * It lives HERE, on the logging document, and not on the analytics addon's
37916
+ * settings form, on the operator's instruction: every other log-ish window in
37917
+ * this system is configured through this one document, and a retention audit
37918
+ * configured somewhere else is a second place to look when the question is
37919
+ * "what happened to my data".
37920
+ *
37921
+ * That placement has a cost worth stating: this document ships in the
37922
+ * framework closure, so this knob needs a published `@camstack/server` while
37923
+ * the four windows beside it (D485) reach a node on `camstack deploy`.
37924
+ *
37925
+ * `retention-model.ts` argued this one must NOT follow a device window,
37926
+ * because the audit trail is the history of the SWEEP and not of the camera.
37927
+ * That argument stands and is untouched — what changes is that 30 days stops
37928
+ * being a constant nobody can reach. `0` keeps it forever. The floor is 1 day
37929
+ * rather than 0-as-delete: an audit log truncated to nothing is precisely the
37930
+ * state in which the next 9.5 GiB leak cannot be explained.
37931
+ */
37932
+ opsLogRetentionDays: number().int().min(0).max(3650).optional()
37794
37933
  });
37795
37934
  /**
37796
37935
  * Which LAYER of the hierarchy is addressed. Absent = the cluster layer.
@@ -37863,6 +38002,14 @@ var LoggingSettingsStateSchema = object({
37863
38002
  channels: array(LogChannelDescriptorSchema).readonly(),
37864
38003
  /** The channels ARMED right now, each with its deadline. */
37865
38004
  activeChannels: array(LogChannelWindowStateSchema).readonly(),
38005
+ /**
38006
+ * The ops-log window in days, as it is in force. `0` = kept forever.
38007
+ *
38008
+ * Reported rather than left to the caller's memory of what it wrote: this is
38009
+ * the value the analytics sweep will actually use, and an operator asking how
38010
+ * long their audit trail lives should not have to infer it from a default.
38011
+ */
38012
+ opsLogRetentionDays: number().int().min(0),
37866
38013
  persisted: boolean()
37867
38014
  });
37868
38015
  var systemCapability = {
@@ -42779,6 +42926,12 @@ Object.freeze({
42779
42926
  addonId: null,
42780
42927
  access: "view"
42781
42928
  },
42929
+ "pipelineAnalytics.listRecentSummaries": {
42930
+ capName: "pipeline-analytics",
42931
+ capScope: "device",
42932
+ addonId: null,
42933
+ access: "view"
42934
+ },
42782
42935
  "pipelineAnalytics.listRecentTracks": {
42783
42936
  capName: "pipeline-analytics",
42784
42937
  capScope: "device",
@@ -46606,6 +46759,11 @@ Object.freeze({
46606
46759
  form: "single",
46607
46760
  optional: true
46608
46761
  }],
46762
+ "pipelineAnalytics.listRecentSummaries": [{
46763
+ name: "deviceIds",
46764
+ form: "array",
46765
+ optional: false
46766
+ }],
46609
46767
  "pipelineAnalytics.listRecentTracks": [{
46610
46768
  name: "deviceIds",
46611
46769
  form: "array",
package/dist/index.mjs CHANGED
@@ -5345,7 +5345,7 @@ var ZodIssueCode = {
5345
5345
  var ZodFirstPartyTypeKind;
5346
5346
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5347
5347
  //#endregion
5348
- //#region ../types/dist/sleep-CnLyvg3w.mjs
5348
+ //#region ../types/dist/sleep-DBKu2-U5.mjs
5349
5349
  /**
5350
5350
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5351
5351
  * window to float samples (D455).
@@ -7470,7 +7470,23 @@ var EncodeProfileSchema = object({
7470
7470
  "zerolatency",
7471
7471
  "film",
7472
7472
  "animation"
7473
- ]).optional()
7473
+ ]).optional(),
7474
+ /**
7475
+ * ONE slice per access unit.
7476
+ *
7477
+ * `-tune zerolatency` turns on x264's sliced threads, and a frame then leaves
7478
+ * the encoder as five NAL slices that share one RTP timestamp and carry one
7479
+ * marker bit. A libwebrtc depacketiser sees five frame-starts and one
7480
+ * frame-end per frame: the first pictures render and the video then freezes
7481
+ * for good while the audio, on its own plane, plays on. Measured on this hub
7482
+ * 2026-09-13 against the Echo, and reduced to one slice by this flag alone.
7483
+ *
7484
+ * A NAMED field and not a raw flag, because {@link EgressEncodeSchema} omits
7485
+ * `outputArgs` on purpose: an opaque array is part of the sharing key, so two
7486
+ * consumers meaning the same thing spelled differently would stop sharing one
7487
+ * child. Absent means "whatever the encoder does" — today's behaviour.
7488
+ */
7489
+ singleSlicePerFrame: boolean().optional()
7474
7490
  }),
7475
7491
  audio: union([literal("passthrough"), object({
7476
7492
  codec: _enum([
@@ -7520,7 +7536,7 @@ var BASE_LIVE_EGRESS_PROFILE = {
7520
7536
  audio: "passthrough"
7521
7537
  };
7522
7538
  ({ ...BASE_LIVE_EGRESS_PROFILE }), { ...BASE_LIVE_EGRESS_PROFILE.video };
7523
- ({ ...BASE_LIVE_EGRESS_PROFILE });
7539
+ ({ ...BASE_LIVE_EGRESS_PROFILE }), { ...BASE_LIVE_EGRESS_PROFILE.video };
7524
7540
  /**
7525
7541
  * Deep wiring healthcheck — snapshot of active reachability probes across
7526
7542
  * every declared capability + widget of every installed plugin, on every
@@ -22897,13 +22913,109 @@ var SummariesQueryInput = object({
22897
22913
  deviceIds: array(number()).min(1),
22898
22914
  since: number().optional(),
22899
22915
  until: number().optional(),
22900
- limit: number().int().min(1).max(200).default(50)
22916
+ limit: number().int().min(1).max(200).default(50),
22917
+ /** The same member-wise filter {@link listRecentSummaries} takes — one
22918
+ * meaning of "dog" on every summary surface. */
22919
+ classes: array(string().min(1).max(60)).max(40).optional()
22901
22920
  });
22902
- var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
22903
22921
  var SummaryDetailSchema = object({
22904
22922
  summary: SummarySchema,
22905
- /** Member track ids, in absorption order. */
22906
- trackIds: array(string()).readonly()
22923
+ /** Members in absorption order, oldest join first. */
22924
+ members: array(object({
22925
+ trackId: string(),
22926
+ /**
22927
+ * The track's class at the time it JOINED, or `null` when it was unresolved
22928
+ * and the track no longer exists to fill it.
22929
+ *
22930
+ * The join, not the latest opinion: class voting can re-decide a track's
22931
+ * class afterwards, and a group's composition is the history of who came
22932
+ * together. A consumer counts these to badge a thumbnail — "two people and a
22933
+ * dog" — rather than being handed a second, denormalised tally that would
22934
+ * drift from the members it claims to describe.
22935
+ */
22936
+ className: string().nullable(),
22937
+ /** `primary` is the one member that carries the group's identity. */
22938
+ role: _enum([
22939
+ "primary",
22940
+ "sibling",
22941
+ "child"
22942
+ ]).nullable(),
22943
+ joinedAt: number(),
22944
+ /** Tier 1 — the sub-class (`dog`, `van`), resolved from the member's track
22945
+ * at read time. Absent when nothing resolved, never an empty string. */
22946
+ label: string().optional(),
22947
+ /** Tier 2 — the instance: a person's name, a plate. Absent when the pipeline
22948
+ * recognised nobody, and absent for a member whose track has been pruned —
22949
+ * a thumbnail that names the wrong person is worse than one naming nobody. */
22950
+ subLabel: string().optional()
22951
+ })).readonly()
22952
+ });
22953
+ /**
22954
+ * What a LIST of groups carries: the envelope plus what it is MADE OF.
22955
+ *
22956
+ * Coarse on purpose — the operator's rule is "only the rough data on the list,
22957
+ * we extend when we notice we need more". Enough to draw the card ("two people
22958
+ * and a dog") and no more. The MEMBERS, their names and the per-member links
22959
+ * are on {@link getSummary}: shipping every member of every group so a client
22960
+ * can count them turns a page of two hundred groups into a thousand records to
22961
+ * draw two hundred badges.
22962
+ */
22963
+ var SummaryListItemSchema = object({
22964
+ summary: SummarySchema,
22965
+ /** Class counts, most numerous first; `className: null` is a member whose
22966
+ * class never resolved, counted so the counts add up to `memberCount`. */
22967
+ classes: array(object({
22968
+ className: string().nullable(),
22969
+ count: number().int().positive()
22970
+ })).readonly()
22971
+ });
22972
+ var SummariesPageSchema = object({ summaries: array(SummaryListItemSchema).readonly() });
22973
+ /**
22974
+ * The paged feed, deliberately the SAME shape as {@link RecentTracksQueryInput}.
22975
+ *
22976
+ * The reel on the cameras page and the Events gallery both ride a cursor, so a
22977
+ * summaries feed that could only answer "the last N for these cameras"
22978
+ * (`listSummaries`) would make groups available in the timeline and nowhere
22979
+ * else. Two feeds with different ordering contracts would be two ideas of what
22980
+ * "newest" means, on one screen.
22981
+ */
22982
+ var RecentSummariesQueryInput = object({
22983
+ /** Devices to merge. An empty array yields an empty page. */
22984
+ deviceIds: array(number()),
22985
+ /** Window lower bound on `lastActiveAt` (inclusive). */
22986
+ since: number().optional(),
22987
+ /** Window upper bound on `lastActiveAt` (inclusive). */
22988
+ until: number().optional(),
22989
+ limit: number().int().min(1).max(500).default(100),
22990
+ /** Opaque continuation cursor from a previous page's `nextCursor`. */
22991
+ cursor: string().optional(),
22992
+ /**
22993
+ * Restrict to these classes — THE SAME FIELD `listRecentTracks` takes, and
22994
+ * deliberately the same name: the events filter tree emits one list of ticked
22995
+ * taxonomy nodes, and a summaries feed that called it something else would
22996
+ * make the operator's one filter component produce two shapes.
22997
+ *
22998
+ * A question about the MEMBERS: a group matches when ANY of them does. "Show
22999
+ * me the arrivals with a dog" has to return the group of four people who had
23000
+ * one with them; a filter on the group's own fields could only ever answer
23001
+ * about its primary.
23002
+ *
23003
+ * Matched against all THREE tiers of a member — the class (`animal`), the
23004
+ * sub-class (`dog`) and the instance (a name, a plate) — because which tier a
23005
+ * ticked node lives on is the taxonomy's business, not the caller's. `dog` is
23006
+ * an event kind in the tree and a tier-1 label on an `animal` track; a filter
23007
+ * that read only the class would answer "animal" and never "dog".
23008
+ *
23009
+ * ABSENT or EMPTY means no filter — absent is not a selection of none.
23010
+ */
23011
+ classes: array(string().min(1).max(60)).max(40).optional()
23012
+ });
23013
+ var RecentSummariesPageSchema = object({
23014
+ /** Ordered by (`lastActiveAt` DESC, id DESC). Same light item as
23015
+ * {@link listSummaries} — one list shape, so a card renders the same
23016
+ * whichever feed drew it. */
23017
+ summaries: array(SummaryListItemSchema).readonly(),
23018
+ nextCursor: string().nullable()
22907
23019
  });
22908
23020
  var RecentTracksPageSchema = object({
22909
23021
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
@@ -23345,6 +23457,11 @@ var pipelineAnalyticsCapability = {
23345
23457
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
23346
23458
  /** Newest first by `openedAt`, for a camera set, inside an optional window. */
23347
23459
  listSummaries: method(SummariesQueryInput, SummariesPageSchema),
23460
+ /**
23461
+ * The PAGED feed — the reel and the Events gallery. Same cursor contract as
23462
+ * {@link listRecentTracks}, so one screen cannot hold two ideas of newest.
23463
+ */
23464
+ listRecentSummaries: method(RecentSummariesQueryInput, RecentSummariesPageSchema),
23348
23465
  /** One summary with its member track ids; `null` for an id nobody wrote. */
23349
23466
  getSummary: method(object({ id: string() }), SummaryDetailSchema.nullable()),
23350
23467
  clearTracks: method(object({ deviceId: number() }), _void(), {
@@ -37786,7 +37903,29 @@ var LoggingSettingsPatchSchema = object({
37786
37903
  * disarmed the channels it did not mention would make the Levels page and
37787
37904
  * the Diagnostics page fight over the same value.
37788
37905
  */
37789
- channels: array(LogChannelWindowPatchSchema).readonly().optional()
37906
+ channels: array(LogChannelWindowPatchSchema).readonly().optional(),
37907
+ /**
37908
+ * How many days the analytics OPS LOG is kept — the audit trail of what
37909
+ * retention actually deleted.
37910
+ *
37911
+ * It lives HERE, on the logging document, and not on the analytics addon's
37912
+ * settings form, on the operator's instruction: every other log-ish window in
37913
+ * this system is configured through this one document, and a retention audit
37914
+ * configured somewhere else is a second place to look when the question is
37915
+ * "what happened to my data".
37916
+ *
37917
+ * That placement has a cost worth stating: this document ships in the
37918
+ * framework closure, so this knob needs a published `@camstack/server` while
37919
+ * the four windows beside it (D485) reach a node on `camstack deploy`.
37920
+ *
37921
+ * `retention-model.ts` argued this one must NOT follow a device window,
37922
+ * because the audit trail is the history of the SWEEP and not of the camera.
37923
+ * That argument stands and is untouched — what changes is that 30 days stops
37924
+ * being a constant nobody can reach. `0` keeps it forever. The floor is 1 day
37925
+ * rather than 0-as-delete: an audit log truncated to nothing is precisely the
37926
+ * state in which the next 9.5 GiB leak cannot be explained.
37927
+ */
37928
+ opsLogRetentionDays: number().int().min(0).max(3650).optional()
37790
37929
  });
37791
37930
  /**
37792
37931
  * Which LAYER of the hierarchy is addressed. Absent = the cluster layer.
@@ -37859,6 +37998,14 @@ var LoggingSettingsStateSchema = object({
37859
37998
  channels: array(LogChannelDescriptorSchema).readonly(),
37860
37999
  /** The channels ARMED right now, each with its deadline. */
37861
38000
  activeChannels: array(LogChannelWindowStateSchema).readonly(),
38001
+ /**
38002
+ * The ops-log window in days, as it is in force. `0` = kept forever.
38003
+ *
38004
+ * Reported rather than left to the caller's memory of what it wrote: this is
38005
+ * the value the analytics sweep will actually use, and an operator asking how
38006
+ * long their audit trail lives should not have to infer it from a default.
38007
+ */
38008
+ opsLogRetentionDays: number().int().min(0),
37862
38009
  persisted: boolean()
37863
38010
  });
37864
38011
  var systemCapability = {
@@ -42775,6 +42922,12 @@ Object.freeze({
42775
42922
  addonId: null,
42776
42923
  access: "view"
42777
42924
  },
42925
+ "pipelineAnalytics.listRecentSummaries": {
42926
+ capName: "pipeline-analytics",
42927
+ capScope: "device",
42928
+ addonId: null,
42929
+ access: "view"
42930
+ },
42778
42931
  "pipelineAnalytics.listRecentTracks": {
42779
42932
  capName: "pipeline-analytics",
42780
42933
  capScope: "device",
@@ -46602,6 +46755,11 @@ Object.freeze({
46602
46755
  form: "single",
46603
46756
  optional: true
46604
46757
  }],
46758
+ "pipelineAnalytics.listRecentSummaries": [{
46759
+ name: "deviceIds",
46760
+ form: "array",
46761
+ optional: false
46762
+ }],
46605
46763
  "pipelineAnalytics.listRecentTracks": [{
46606
46764
  name: "deviceIds",
46607
46765
  form: "array",
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Dc06UWXO.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Cx68KkGj.mjs";
2
2
  export { t as get, e as init };
@@ -2753,7 +2753,7 @@ async function rr(e) {
2753
2753
  }
2754
2754
  }
2755
2755
  async function ir() {
2756
- return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-C-0Xt8HG.mjs")).catch((e) => {
2756
+ return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BAwkeBnB.mjs")).catch((e) => {
2757
2757
  throw tr = void 0, e;
2758
2758
  }), tr;
2759
2759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-osd-manager",
3
- "version": "0.1.97",
3
+ "version": "0.1.98",
4
4
  "description": "Binds camera on-screen-display slots to live state and recognitions",
5
5
  "keywords": [
6
6
  "camstack",